在运行调试器时,不会击中在Visual中为C++项目设置的断点。
当我启动调试器时,会收到警告。
无法找到或不匹配“IEXPLORER.EXE”的调试信息。没有装载符号。要开始调试吗?
我点击“是”继续,但是我设置的断点有一个警告:
当前不会命中断点。此文档没有加载任何符号。
调试项目时如何加载符号?我需要改变它的建造方式吗?
发布于 2010-11-01 04:00:04
最新的Internet有不同的进程模型,本质上禁用了ActiveX控件的调试(我认为您正在尝试调试)。但是,有一个注册表设置可能对您有帮助。
HKLM\Software\Microsoft\Internet \Main> TabProcGrowth:DWORD
将此值设置为0,您应该能够调试控件。
发布于 2010-11-02 02:01:04
看起来,您正在调试Internet的扩展(工具栏、bho等)。
如果Internet给您附加到正确进程带来麻烦,您可以故意使进程崩溃,然后JIT对其进行调试。使用DbgBreakPoint中的DllMain来完成它。应该弹出一个窗口,询问您是否要调试它。这有点落后,但应该可以帮助您避免玩IE的所有过程。
这还将允许您查看来自其他问题的调试输出,因为您将被附加正确的过程。
发布于 2010-11-08 07:47:24
你必须确定三件事:
.pdb
文件,并确保此.pdb
文件包含源信息。如果您告诉我您使用的是哪种IDE/语言,我可以帮助您确保这一点。.pdb
文件;一种简单的方法是将.pdb文件复制到二进制文件附近。如果加载了.pdb
文件,Visual中菜单Debug\Windows\Modules
中可用的工具窗口应该在您的DLL文件行的列“符号状态”中说“符号加载”。有了这个,你的断点就没问题了。
https://stackoverflow.com/questions/4068558
复制