不能命中一个断点 [英] Cannot Hit a Breakpoint

查看:121
本文介绍了不能命中一个断点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





请帮我解决以下问题。



我想调试远程系统中的进程。该进程加载DLL,我想在其中一个中遇到断点。我编译了这个DLL并将其放入该系统。然后我通过调试器远程连接到系统。但VS2010向我显示消息断点不能被击中。没有加载符号



当我去调试 - >模块并搜索我的模块(DLL),我可以看到DLL被加载到该进程中,并且该DLL的符号也被加载 - 来自正确的路径。但是,断点不能被击中。 (我还没有修改源代码,我也没有重新保存它。所以pdb绝对适合DLL。)



你能给出建议吗?
JK

Hi,

please help me with the following problem.

I want to debug a process in a remote system. The process loads DLLs and I want to hit a breakpoint in one of them. I compiled this DLL and placed it into that system. Then I connected remotely to the system by the debugger. But VS2010 shows me message "Breakpoint cannot be hit. No symbols loaded".

When I go to Debug -> Modules and search for my module (DLL), I can see that the DLL was loaded into that process and the symbols for that DLL were loaded as well - from correct path. But still, the breakpoint cannot be hit. (I didnt modify the source code anyway and I didnt re-save it either. So the pdb definitely fits the DLL).

Can you please give advice ?

Many thanks,
JK

推荐答案

这不是关于是否存在你的DLL模块本身。您需要创建和启用调试信息(特别是PDB,请参见下文),这可能需要使用不同的(调试)选项重建您的模块。您可以学习有关调试信息和相应版本的Visual C ++文档,但一种简单的方法是使用预定义的配置Debug,默认情况下,它提供对所有调试功能的支持。同样,它应该为您的DLL模块提供,而不仅仅是使用该库模块的模块。原则上,由于某种原因,选项可能会被修改为调试配置以禁用某些调试信息。配置只是配置,设计用于将项目的许多选项和属性组合在一起,属性本身可以是任何东西,因此仅仅名称Debug不保证调试。



如果你没有这个模块的源代码而且没有* .pdb文件(程序数据库文件,它带有调试所需的符号),除了它之外没什么可做的,除了没有符号的调试,这是无效的。



有关详细信息,请参阅: http://support.microsoft.com/kb/291585 [ ^ ]。



-SA
This is not about the presence of your DLL module itself. You need to create and enable debug information (in particular, PDB, please see below), which may require rebuild of you module with different (debug) options. You can learn Visual C++ documentation on debug information and appropriate version, but one simple way is to use the predefined configuration "Debug" which, by default, provides support of all debug features. Again, it should be provided for your DLL module in question, not just for the module(s) using that library module. In principle, it's possible that the options, by some reason were modified for "Debug" configuration to disable some debug information. The configuration is just the configuration, something designed to group many options and properties of the project together, the properties themselves can be anything, so the mere name "Debug" does not guarantee the debugging.

If you have no source code for this module and no *.pdb file (program database file, which carry symbols needed for debugging) for it, there is nothing you can do except debugging without symbols, which is not effective.

For more detail, please see: http://support.microsoft.com/kb/291585[^].

—SA


您已按照所有步骤操作,但这些链接可能只对你有帮助 -

http://msdn.microsoft .com / zh-cn / library / y7f5zaaa.aspx [ ^ ]

来自不同域的Visual Studio的远程调试 [ ^ ]
You have followed all steps right, however these links might just help you -
http://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx[^]
Remote debugging for Visual Studio from different domains[^]


这篇关于不能命中一个断点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆