【发布时间】:2016-02-04 12:41:05
【问题描述】:
我使用 Visual Studio 2013 在调试模式下编译代码时总是遇到断点。 在这篇文章之前,我浏览了this 和this。
我通过 [DEBUG-> Windows-> Breakpoints] 没有可删除的断点。
下面是我的 exe 在编译时如何触发断点的截图。是的,我的项目包含许多库,并且此断点仅触发库文件。谁能帮我解决它,我用谷歌搜索了很多但不能?
这是我的调用堆栈副本:
ntdll.dll!770cfe2c() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
[External Code]
DemoProj.exe!CryptoPP::MessageQueue::TransferTo2(CryptoPP::BufferedTransformation & target, unsigned __int64 & transferBytes, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & channel, bool blocking) Line 27 C++
DemoProj.exe!CryptoPP::BufferedTransformation::Get(unsigned char * outString, unsigned int getMax) Line 420 C++
当我调试代码时出现错误,例如“UMEngx86.dll”。找不到或打开 PDB 文件。”
'DemoProj.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded.
'DemoProj.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sysfer.dll'. Cannot find or open the PDB file.
'DemoProj.exe' (Win32): Loaded 'C:\ProgramData\Symantec\Symantec Endpoint Protection\12.1.4112.4156.105\Data\Definitions\BASHDefs\20160125.011\UMEngx86.dll'. Cannot find or open the PDB file.
'DemoProj.exe' (Win32): Loaded 'C:\~…\release\log4cplus.dll'. Module was built without symbols.
我还阅读了this document 关于此问题的信息。仍然需要导出的帮助。
【问题讨论】:
-
编译时?你的意思是你的exe在执行时会触发断点,确定吗?抛出异常时中断并获取堆栈跟踪以查看发生了什么。
-
是的,@Steve 我只需单击本地 Windows 调试器并在编译期间遇到此断点。
-
可能存在硬编码断点,或者应用程序可能正在调用 DebugBreak 函数。您无需在调试器中设置断点即可获得断点。
-
@Kulamani:locals 窗口与编译无关。我认为您可能会混淆您的术语。
-
@Kulamani:好的,越来越近了。设置符号服务器。请按照此处的说明进行操作:msdn.microsoft.com/library/b8ttk8zy(v=vs.100).aspx 完成后更新堆栈并发表评论,以便我收到通知。
标签: visual-studio-2013 breakpoints