对于自己制作的.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 工作目录,即.exe的工作目录 (类似于 环境变量中的path吧)
eg:C:\Documents and Settings\Administrator\桌面\lua\NEUSOFT\Debug
program arguments 程序入参 eg:helpMain (helpMain 是一个Java写的类 java helpMain就可以 执行)
OK,现在按F5 就可以调试了,在DLL程序中 设置断点,就可以进入中断了。
下面说一下这个原理吧!
原理就是只要是程序运行,就会产生一个进程,将VC6.0挂在这个进程上面(通过上面的设置,然后 debug来启动设置的.exe 这时候 VC6.0 就会挂在 .exe的进程中);
然后 VC6.0 设置断点,实际上是对内存中地址的标记,这时候 只要运行到这个地址,就会中断。