最近在Visual Studio中调试DLL的时候,老是提示“当前不会命中断点,还没有为该文档加载任何符号”,在写代码写到快要发疯的时候遇到这样的事情,还有比这更糟糕的么?
网上那些乱七八糟的解决方案全然无效,比如删除工程目录下ncb文件之类的,或者配置选项确保生成调试符号之类的,都不是我想要的。后来,是这么解决问题的(其实以前就这么玩过,只是记得不太清楚了):
1. 需要自己弄一个Loader(比如自己写个EXE),这个Loader可以加载要调试的DLL;
2. 在DLL需要下断点的地方加一个MessageBox调用,比如MessageBoxA(NULL, NULL, NULL, NULL),在下一行下个断点;
3. 生成DEBUG版本的DLL文件,用Loader加载这个DLL,你就会看到MessageBox啦;
4. 选择Visual Studio的菜单“调试”-“附加到进程”,然后附加到上面的Loader;
5. 这时候点击MessageBox就OK了,Visual Studio自动断下来了,开始Debug吧!
本博客很少转载他人文章,如未特别标明,均为原创,转载请注明出处:
本文出自程序人生 >> DLL调试 之 当前不会命中断点,还没有为该文档加载任何符号
作者:代码疯子