【发布时间】:2011-09-28 16:42:10
【问题描述】:
标题基本上概括了它。
我有一个使用 VB.NET 2010 实现的 COM+ 服务器应用程序,它被配置为使用 http://msdn.microsoft.com/en-us/library/windows/desktop/ms685134(v=vs.85).aspx 中描述的过程从其自己的 .config 文件中收集数据。
到目前为止,它似乎很有效。而且我愚蠢地假设它应该足以知道在哪里选择包含调试信息的 .pdb 文件,并在出现意外异常时包含此类信息。 (.pdb 文件就在那里,顺便说一句……就在构成 COM+ 应用程序的 .dll 文件旁边)。
看来我错了,毕竟; COM+ 应用程序抛出的所有异常都显示被调用的函数,但不显示相关的行号。
我是否需要做其他事情才能使我的 COM+ 应用程序不仅返回函数名,而且返回堆栈跟踪中的行号,该堆栈跟踪由引发的异常返回?
【问题讨论】:
-
您是否将发布版本的“生成调试信息”选项更改为“完整”?必填。
-
是的。我刚刚确认了。请注意,我使用的不是“发布”版本,而是“调试”版本。需要明确的是:两个构建,“调试”和“发布”,都将“生成调试信息”设置为“完整”。
-
运行时似乎没有找到 PDB 文件。如果我猜测它听起来像应用程序根仅用于配置,而不是用于定位 PDB 文件的运行时。作为测试,我会将 PDB 文件复制到 system32 目录,看看是否有帮助。
标签: .net stack-trace com+ line-numbers