vs不能调试。。。困扰我很久的问题 真的希望有朋友能帮我解决下
[color=#FF0000]在vs2005下按f5,正常应该是vs中打开的页面会出现锁的标志,并且如果设置了断点,就会在断点处停留。
而我建的项目,按f5,页面未出现锁的标志,也不会在断点处中断。
不能调试,是一个多么痛苦的事。。。求解求救啊。。。
按f5时,下面的调试框输出以下信息:[/color]
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\zh-CHS\WebDev.WebServer.resources.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\WebDev.WebHost.resources\8.0.0.0_zh-CHS_b03f5f7f11d50a3a\WebDev.WebHost.resources.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Web.resources\2.0.0.0_zh-CHS_b03f5f7f11d50a3a\System.Web.resources.dll”,未加载符号。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Web.RegularExpressions\2.0.0.0__b03f5f7f11d50a3a\System.Web.RegularExpressions.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Design\2.0.0.0__b03f5f7f11d50a3a\System.Design.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\Microsoft.JScript\8.0.0.0__b03f5f7f11d50a3a\Microsoft.JScript.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_32\VJSharpCodeProvider\2.0.0.0__b03f5f7f11d50a3a\VJSharpCodeProvider.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\CppCodeProvider\8.0.0.0__b03f5f7f11d50a3a\CppCodeProvider.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\System.ServiceModel\3.0.0.0__b77a5c561934e089\System.ServiceModel.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_MSIL\SMDiagnostics\3.0.0.0__b77a5c561934e089\SMDiagnostics.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
“WebDev.WebServer.EXE”(托管): 已加载“C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll”,已跳过符号加载。已对模块进行了优化并启用了调试器选项“仅我的代码”。
程序“[6096] WebDev.WebServer.EXE: 托管”已退出,返回值为 0 (0x0)。
------解决方案--------------------
如何:单步执行“仅我的代码”
Visual Studio 2005 其他版本 此主题尚未评级 评价此主题
有时,您在调试过程中可能只希望查看自己编写的代码,而忽略其他代码(如系统调用)。为此,可以使用“仅我的代码”调试。“仅我的代码”将隐藏非用户代码,从而使这些代码不出现在调试器窗口中。单步执行时,调试器逐句通过所有非用户代码,但不在其中停止。
为了区分用户代码(“我的代码”)和非用户代码,“仅我的代码”将查看三项内容:DBG 文件、PDB 文件和优化。
在标准调试版本中,关闭优化并为所有模块创建调试符号。运行调试版本时,这些模块将被视为“我的代码”。如果调用的某个库函数已经优化并且没有调试符号,则该函数不是“我的代码”。使用“仅我的代码”时,在库代码的断点处不会停止执行;通常情况下,我们并不想调试库代码。在“断点”窗口中,这些断点显示时带有“禁用断点”图标。
若要查看所有代码并在所有断点处停止,可使用“选项”对话框关闭“仅我的代码”调试。
此外,还有三个属性影响调试器确定是否“我的代码”:DebuggerNonUserCodeAttribute 告知调试器,其所应用到的代码不是“我的代码”;DebuggerHiddenAttribute 对调试器隐藏代码,即使“仅我的代码”已经关闭;DebuggerStepThroughAttribute 告知调试器逐句通过所应用的代码,而不是单步执行代码。
启用“仅我的代码”后,可在“调试”菜单中选择“中断”,以在不显示“我的代码”处停止执行。在这种情况下不显示任何代码。此外,如果选择“单步”命令,则编译器将会跳到“我的代码”的下一行。
调试器对编程方式的中断语句(例如 Visual Basic Stop 语句)进行区别处理。即使启用了“仅我的代码”,调试器也总是在这些语句处中断。在这种情况下,将会显示非用户代码,而不会将其隐藏,但是单步执行仍会带您跳出非用户代码,转到“我的代码”的下一行。
注意
设备项目不支持“仅我的代码”。
启用或禁用“仅我的代码”调试
在“工具”菜单上选择“选项”。
在“选项”对话框中,打开“调试”节点,然后选择“常规”。
选择或清除“启用仅我的代码”。
请参见
参考
DebuggerNonUserCodeAttribute
DebuggerHiddenAttribute
DebuggerStepThroughAttribute
概念
执行控制
------解决方案--------------------
启用或禁用“仅我的代码”调试
在“工具”菜单上选择“选项”。
在“选项”对话框中,打开“调试”节点,然后选择“常规”。
选择或清除“启用仅我的代码”。
试试这个