我有一个Visual Studio解决方案,其中包含四个C#项目。我想从主项目单步执行解决方案中支持项目的代码,但是当我使用“单步执行”键时,它只是跳过对另一个项目的调用。我在支持项目中设置了断点,它们被忽略了,我无法让它单步执行对该项目的任何引用。
一切都被设置为“Debug”编译,我看到Visual Studio警告我之前不会命中断点--在这种情况下它不会这样做。这就好像我的代码看起来会调试,但在运行时,有一个设置告诉Visual Studio不要单步调试该项目中的代码。我的解决方案中的所有其他项目都没有调试问题。
我选中了哪个复选框导致了此行为?
更新以明确:“仅我的代码”选项当前被禁用。而且,由于代码属于同一解决方案中的项目,我认为“仅我的代码”选项在此处不适用。我认为它只适用于我没有源代码的预编译代码,但由于我的项目中有源代码,我认为此选项没有任何作用。
7条答案
按热度按时间d8tt03nd1#
不确定这是否是它,但“工具〉选项〉调试〉常规:启用仅我的代码”是一个可能的。(我喜欢总是保持这个未选中。)
pbgvytdp2#
在调试选项“Just my code”下,有一个选项可以在没有任何用户代码的情况下隐藏错误,它隐藏了以下错误:
生成以下移动的时启用了优化或没有调试信息。(模块名称和路径)要调试此模块,请将其生成配置更改为调试模式。
因为我是在Debug配置中构建它的,所以我搜索了该错误消息并得到了以下信息:
http://claytonj.wordpress.com/2008/01/04/the-following-module-was-built-either-with-optimizations-enabled-or-without-debug-information/
问题解决了。我不知道为什么要在GAC才能让我进入项目,但它确实做到了。我不问为什么,我只问如何,然后我就去做了...
eivgtgni3#
需要检查的一件事是GAC中尚未安装支持项目程序集。打开命令提示符并运行以下命令以确保...
gacutil /l * 程序集名称 *
iecba09b4#
您需要确保支持项目具有pdb文件,否则Visual Studio将不具有单步执行代码所需的信息。
7z5jn7bk5#
如果您有要逐步执行之dll的原始程式码,请执行下列动作:
1.单击将这些dll作为引用添加到其中的项目并删除它们。
1.将对应于dll的项目添加到解决方案中
1.右键单击项目-〉添加引用-〉选择新添加的项目。
现在设置断点并调试代码。您将能够单步执行代码。
出现此问题的原因是因为您的程序仍在引用旧的dll(不带源代码),因为它已作为引用添加到项目中。一旦删除该dll并添加该dll的项目(dll的源代码),Visual Studio将能够单步执行您的代码。
nafvub8i6#
几种可能性:
8hhllhi27#
在Visual Studio 2013中,导致此行为的一种方法是将生成配置设置为
Release
。把它放回
Debug
,看看是否有帮助。