解决断点不工作

原创 2004年08月26日 21:13:00

最近在一个动态库中调试程序,这个动态库是可执行文件在执行过程中动态加载的,所以在动态库代码中设置断点,启动调试的时候总是会出现一个断点无效的警告,并且断点变成灰色,只有当动态库被加载后才能设置断点

在MSDN中找了半天,终于找到解决方案:

Can't Set Breakpoint in Source File When Corresponding Symbolic Info Isn't Loaded into Memory by Debugger

You cannot set a breakpoint in any source file when the corresponding symbolic information will not be loaded into memory by the debugger. Symptoms include messages such as "the breakpoint cannot be set" or a simple, non-informational beep. When setting breakpoints before the debuggee has been started, the debugger uses a breakpoint list to keep track of how and where to set breakpoints. When you actually begin the debugging session, the debugger loads the symbolic information for all designated debuggees and then walks through its breakpoint list, attempting to set the breakpoints.

However, if one or more of the debuggees have not been designated to the debugger, there will be no symbolic information for the debugger to use when walking through its breakpoint list. Situations where this is likely to occur include:

  • Attempts to set breakpoints in a DLL before the call to LoadLibrary.
  • Setting a breakpoint in an OLE server before the container has started the server.
  • Other similar cases.

NOTE: After you receive notification that these breakpoints cannot be set, the breakpoints will usually continue to show up in the breakpoint list, but they will have a dash (-) to their left, indicating that they are disabled (have not been set).

To prevent this behavior in Visual C++, specify all additional DLLs and OLE servers in the Additional DLLs field in the Options.Debug... dialog box. To prevent this behavior in in CodeView, use the /L command line switch to notify CodeView that you want it to Load symbolic debug information for additional .EXE and .DLL files. When this has been done, breakpoints set in code that has not yet been loaded into memory will be "virtual" breakpoints. When the code is actually loaded into memory by the loader, these become physical breakpoints. Ensure that these additional debuggees are not already running when you start your debugging session. Failure to follow this rule will likely cause breakpoints to be missed.

文档中说解决方案是在设置的Additional DLLs中指定需要加载的DLLs.就这么一句没头没脑的话,让我捉摸半天,最后终于发现在project-settings的debug标签中,给category选择Additional DLLs,哈哈,在下面的Modules中输入需要加载的DLLs的名称,就可以了

断点工作原理

一、 F2断点 OD中的F2断点是int 3中断,也就是机器码0xCC指令。中断对应着中断处理函数,一旦系统执行到int3指令,这个指令将在处理器上产生硬件中断STATUS_BREAKPOINT...
  • CoderAldrich
  • CoderAldrich
  • 2015年01月22日 14:14
  • 935

xcode断点无效无法调试的一个问题

xcode断点无效无法调试的一个问题
  • skylin19840101
  • skylin19840101
  • 2017年05月15日 17:52
  • 1351

SASS优化响应式断点管理

当你需要搞定响应式布局时,一堆堆的媒体查询、大量的属性、属性值往往可以把你搞颠,SASS(或者诸如此类的预处理器)被认为是处理响应式断点的最佳利器。 说到响应式断点处理,很多种方式涌上心头,经常有人问...
  • whqet
  • whqet
  • 2014年05月22日 20:52
  • 4291

FastDFS+Nginx 集成并实现断点续传(二)

1.5 安装配置Nginx       这一步非常重要, 需要安装Nginx并给Nginx安装fastdfs-nginx-module模块,以便支持下载和断点续传功能。具体步骤:     ...
  • wx_mdq
  • wx_mdq
  • 2013年08月28日 15:52
  • 2097

Android网络编程之——文件断点下载(暂停/继续/重新下载)

开头还是不说废话了直接进入主题吧!一:关于断点下载所涉及到的知识点1.对SQLite的增删改查(主要用来保存当前任务的一些信息) 2.HttpURLConnection的请求配置HttpURLCon...
  • a_zhon
  • a_zhon
  • 2017年02月19日 18:51
  • 5402

Xdebug工作原理

转自: http://my.oschina.net/atanl/blog/371424 对于PHP开发,初来咋到,开发环境的搭建和理解感觉是最操逼的一件事了。不像JAVA,打开一个Eclipse...
  • dabao1989
  • dabao1989
  • 2015年11月14日 18:34
  • 901

模拟退火算法求解指派问题

模拟退火算法模拟退火算法(Simulated Annealing)求解工作指派问题(Assignment Problem)的Python实现1 简单指派问题nn个工作可以由nn个工人分别完成。工人ii...
  • yangsenuestc
  • yangsenuestc
  • 2017年03月31日 17:21
  • 746

html5解决大文件断点续传

js代码 xhr2 将图片拖拽到此 0% ajax上传--> 上传 //拖拽上传开始 //-1.禁止浏览...
  • Zph1234
  • Zph1234
  • 2016年01月25日 10:29
  • 5393

chrome浏览器设置断点(翻译)

原文地址: https://developers.google.com/web/tools/chrome-devtools/debug/breakpoints/add-breakpoints 调试...
  • wujiangwei567
  • wujiangwei567
  • 2016年05月20日 17:12
  • 1319

MyEclipse不能自动编译解决方法总结(转)/debug时断点乱跳问题的解决办法

MyEclipse不能自动编译解决方法总结(转) 前言:工具在给人带来方便的同时,相伴而来的也有不可预知的问题。     在使用集成开发工具进行项目开发时,我们不仅要了解自己写的代码,还需...
  • reggergdsg
  • reggergdsg
  • 2017年03月11日 11:17
  • 807
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决断点不工作
举报原因:
原因补充:

(最多只允许输入30个字)