VS调试Dll小小经验

问题描述:

1.A.dll调试命令中填的B.exe,A工程中F5,此时B.exe运行启动,客户端运行连接B,此时,会重新启动一个B.exe

2.直接在B工程中F5,此时此时B.exe运行启动,客户端运行连接B,则不会重新启动一个B.exe

出现现象1,所以导致我不能debug进入到A.dll工程中单步调试。。。

方法一:新建一个解决方案,把两个工程添加进来,dll与exe同一个目录,问题依旧。。。

发现一:

F5与直接双击运行的区别:F5与直接运行程序的区别,当前路径目录不同,一个Debug的区别;

char* path=new char[100];

ZeroMemory(path,100);

GetCurrentDirectoryA(100,path);

CString strpath;

strpath.Format("%s",path);

AfxMessageBox(strpath);

delete[] path;

方法二:接着按照赵老师的指点:设置F5时使用指定的目录(项目、属性、配置属性、调试、工作目录:……),问题依旧。。。

涨姿势,下面方法来自“zhao4zhong1”,赵4老师:

①直接运行B.exe,客户端连接。

②进入VS IDE

文件、关闭解决方案。

工具、附加到进程、可用进程、里面选你要调试的进程B.exe、点“附加”按钮……

②进入VS IDE

文件、关闭解决方案。

工具、附加到进程、可用进程、里面选你要调试的进程B.exe、点“附加”按钮、再点“全部中断”按钮、再按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂且光标落在你的dll源代码中为止。

至此,解决了问题。。。

PS:万里长城万里长,前进的道路依旧长。。。

时间: 2024-11-08 13:03:48

VS调试Dll小小经验的相关文章

Delphi调试DLL 不能调试 不能进入调试 注意!!!

如何调试DLL,在这里就不再赘述了,但是,今天就碰到了一个特别奇怪的问题,参数设置正确,就是不能调试?? 通过上网查资料,发现了问题,注意: 1, 将Project主菜单的Project Options对话框的Compiler页面Debugging选项中的 Debug informaton.Local symbols.Assertions复选框选中 2,将Tools主菜单的Debugging options对话框-->左下角Integrated debugging复选框选中 注意了, 这个问题困

VC6.0 调试.dll文件

对于自己制作的.DLL文件,一直没有比较好的调试方法,其实是知道的太少. 下面就说说VC6.0下面 怎么调试DLL文件: 首先得有一个调用DLL文件的可执行程序,然后调用这个可执行程序. 在工程上 右键  settings  在弹出的对话框中,选择debug标签,然后设置executable for debug session:  在这里面填写可执行程序的路径 eg:C:\Program Files\Java\jdk1.6.0_15\bin\java.exe Working directory 

VS~单步调试DLL

有时我们从第三方下载DLL库之后,在使用VS进行调试时还是很麻烦的,现在我总结一下,在开发过过程中调试DLL的方法,希望对各位在开发中有帮助. 1 VS下载插件.Net Refector 2 引用你的DLL,或者使用Nuget安装你的第三方DLL,注意要求你的DLL不要有PDB文件,因为反射调试时会生成新的 3 开启Refector的调试dll功能 4 选择需要调试的DLL,将它原来的PDB文件删除 5 这时你的DLL自动添加到进程中 6 现在你就可以进行单步的DLL调试了

vs调试dll

已跳过加载符号 vs调试时,会输出加载信息,加载信息里面有类似这样的信息: “iisexpress.exe”(CLR v2.0.50727: DefaultDomain): 已加载“C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll”.已跳过加载符号.模块进行了优化,并且调试器选项“仅我的代码”已启用. 这说明修改下调试器选项设置,并且将类库的符号文件放在适当位置的话,是可以调试dll文件的. --

c#通过Dotpeek调试dll

我想编程的兄弟们都要引用别人代码,哪怕是.framework里面的基础类库,也经常引用别人的一些dll,但是别人内部抛出一些异常的时候,又不知道到底怎么回事,如果这时候可以在别人的代码里面调试该多好呀.好了,不卖关子了,今天我就给大家从头到尾的讲下如何调试别人的dll. 1.首先Resharper(ReSharper是一个JetBrains公司出品的著名的代码生成工具,其能帮助Microsoft Visual Studio成为一个更佳的IDE.),我想编程的大部分同学都使用过吧.他有一个附属产品

用OD调试DLL

http://www.360doc.com/content/15/0523/09/12129652_472617986.shtml 步骤如下: 1.打开DLL,OD会提示是否要启动LOADDLL.EXE来加载DLL,选是,然后就停在了DLL的入口处,这里我随便找了一个DLL 2.此时如果F8或者F7的话进的是DLL的主函数,如果不想跟这些主函数的话可以直接F9,然后OD会再停下来,在最下方的消息栏会提示DLL初始化完成,LIKE THIS 3.点菜单栏的 调试->调用DLL输出,会出现如下的对话

vb调试dll

1.有两个工程BW_DetectCard.vbp(生成dll)及识别卡检测软件.vbp(生成exe) 2.打开工程<识别卡检测软件.vbp>,在文件--添加工程--现存,找到要引用的dll工程<BW_DetectCard.vbp>打开 此时会有两个工程,把<识别卡检测软件.vbp>设置为启动项 3.选中<BW_DetectCard.vbp>,在工程--属性里面设置为(等待创建部件) 4.选中<BW_DetectCard.vbp>,在工程--引用-

vs基础:无法断点调试dll项目 无法命中

调试vs时,经常会出现,你设置了dll项目的一些断点,可f5之后,这些断点无效.时代定制的程序组的童鞋告诉你解决方法:在解决方案上右键“属性”,点击左侧树“配置属性”-->“配置”,右侧项目列表中,对要调试的项目勾选“debug”配置,然后保存.f5即可命中断点. 注意:一定在解决方案上右键,而非要调试的项目上!!!

vs下如何调试Dll

1.首先需要一个exe加载你的dll 2.dll项目的属性设置 3.将dll设为启动项 4.在dll中设置断点 F5就可以调试了