【发布时间】:2012-03-25 21:07:34
【问题描述】:
假设我有一个抛出异常的函数。假设这个函数被第三方DLL调用,第三方DLL会处理我抛出的异常。
如果 Visual Studio 确定第三方 DLL 不是“用户代码”(如下图所示),则默认情况下它将停止我的异常,即使它稍后会得到处理。这样做并没有完全错误;它清楚地解释了异常未由用户代码处理。但是是什么让 Visual Studio 将某些 DLL 称为“用户代码”而其他的却不是?
我有一个理论认为,这是因为未加载符号,但列表中存在已加载符号但仍不被视为“用户代码”的模块。
【问题讨论】:
-
对于其他人,在“调试”菜单上找到“模块”窗口,选择“Windows”,然后单击“模块”。用于跟踪正在使用的 .dll 的有用显示(我的代码不会调试,因为它使用的是 GAC 中的 lib 副本,而不是引用项目的输出),感谢您指出。跨度>
标签: visual-studio-2010 debugging visual-studio-debugging