4

为什么在我调试我的 asp.net 网站时有时会弹出反汇编程序/反汇编窗口?

它有时会发生,并非总是如此。我在互联网上搜索过,但没有找到有用的结果。例如:它发生在我尝试调试查询时;它出现在我到达一个特定代码段之后/当我使用它启用 4 个文本框之一,同时使用更新面板保持其他文本框禁用(这里没有什么突破性的)。

我的代码工作正常,我再说一遍,这个反汇编的东西不会引起任何问题,只是以前没有发生过这种情况。

这是否意味着我的代码或我编写代码的方式有问题......还是什么?

4

2 回答 2

9

在工具、选项、调试中尝试禁用“启用地址级调试”。

我要补充一点,您通常可以启用“仅启用我的代码”(同一页面),但我认为禁用它以了解我的代码之外的问题时很有用。

如果您具有以下条件,则通常会出现该窗口:Enable address-level debugging启用、Enable just my code禁用并且您已将调试器配置为在抛出异常时中断。

通常会在 .NET 代码/其他库代码中抛出一些“良性”(非终端)异常,这些异常会在那里捕获,而不会出现在您的代码中。使用所有这些选项“启用(如我告诉你的那样设置)”,调试器将打破这些异常(经常非常无聊)并且必须向你展示一些东西......但它没有源代码,因此它会显示反汇编(或一个空窗口,询问您是否要查看反汇编,如果您禁用了“如果源不可用则显示反汇编”)

于 2013-08-16T08:03:14.033 回答
2

当您尝试调试没有符号的代码并且启用了地址级调试时,会出现反汇编窗口。

看到这一点的最常见方法是尝试进入 .Net 代码。

于 2013-08-16T08:05:11.143 回答