对于自己制作的.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 设置断点,实际上是对内存中地址的标记,这时候 只要运行到这个地址,就会中断。

VC6.0 调试.dll文件的更多相关文章

  1. VC6.0调试知识大全

    VC6.0调试知识大全 分类: C++ 2010-09-06 21:33 7080人阅读 评论(5) 收藏 举报 debuggingmfcfunctionmenumicrosoftdll My Not ...

  2. VC6.0编译DLL,使用VS2010调用问题及解决方法

    1.做驱动的时候.做应用程序须要和驱动通信,必须建立一个DLL. 2.由于客户使用版本号太低,须要使用到VC6.0编写DLL 3.在VC6.0上编写DLL的时候,导出的函数名会出现和原函数名不正确,导 ...

  3. VC6.0读取Excel文件数据

    啰嗦一下:本人所在公司从事碟式斯特林太阳能发电设备的研发与销售.单台设备图如下: 工作原理如下:整个设备大致可分为五个部分, 1.服务器,负责气象.发电等数据存取,电.网连接等处理: 2.气象站,通过 ...

  4. 关于delphi PAServer 远程调试DLL文件

    用PAServer调试的话会产生一个默认user-connectionname的文件夹,且这个文件夹不能自定义.因此无法使调试的dll文件生成到host主程序所在的文件夹下而导致无法调试. 变通方法: ...

  5. VC6.0调试大全

    VC调试方法大全 一.调试基础 调试快捷键 F5: 开始调试 Shift+F5: 停止调试 F10:   调试到下一句,这里是单步跟踪  F11:   调试到下一句,跟进函数内部 Shift+F11: ...

  6. Win8 使用VC6.0调试

    Win8.1下无法执行vc++6.0的解决方法 注意 安装过程中最后一步会卡在那里不动,能够直接关闭安装程序,忽略报错. 1 安装完毕后在安装文件夹下找到MSDEV.EXE 而且将 MSDEV.EXE ...

  7. VC6.0创建DLL动态链接库四大要素

    原文:http://blog.csdn.net/wanghaihao_1/article/details/51098451 要成功地编辑,编译和链接一个动态链接库,应该包括以下要素:建立工程文件,使用 ...

  8. vc6.0调试

    调试快捷键 : 逐过程调试-F10        逐语句调试-F11跳到光标处-Ctrl+F10   跳出本循环-Shift+F11   设定断点-F9    删除所有断点-Ctrl+Shift+F9 ...

  9. Vc6.0打开该文件坠毁

    这是一个微软bug,下面是用户给出的溶液: http://blog.163.com/wjatnx@yeah/blog/static/12758622820138110530322/ http://bl ...

随机推荐

  1. Jekyll: .md to .html with self defined themes..

    theme is from here $ gem install jekyll bundler ~ $ jekyll new my-awesome-site ~ $ cd my-awesome-sit ...

  2. 多线程synchronized用例解析

    当用synchronized来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码.即使在执行过程中,CPU切换到别的线程了,因为有锁的缘故,其他线程也不会进来执行代码,而 ...

  3. Webdriver实现对菜单栏的灵活切换功能,附上代码,类似的菜单栏切换可以自己封装

    有时一级菜单下可能会有二级菜单,这时就需要对其下面的元素进行判断,如果使用webdriver原生的方法去获取未知的元素进行判断,显然是不可能的,因为webdriver本身就是基于明确的元素进行定位的, ...

  4. C#用Zlib压缩或解压缩字节数组

    /// <summary> /// 复制流 /// </summary> /// <param name="input">原始流</par ...

  5. LeetCode OJ 92. Reverse Linked List II

    Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1-> ...

  6. Why isn't sizeof for a struct equal to the sum of sizeof of each member?

    check here. Basically the compiler will insert unused memory into a structure so that data members a ...

  7. Linq中max min sum avarage count的使用

    一.Max最大值 static void Main(string[] args) { //Max求最大值 ,,,,,,,,,}; //方法1 Linq语句+Linq方法 var result = (f ...

  8. 免费 WebOffice使用

    目前WebOffice使用比较多主要有两个公司的产品,分别是江西金格和北京点聚.但是点聚的是免费的,虽然有欠缺之处,但是经过个人修改还是比较好用的,关键一点是,它免费啊! 把一个最主要加载页面,如果读 ...

  9. linux 文件系统操作()

    1. 用Xshell 客户端连上远程主机. 2.ll 或 ls 查看当前目录下的文件或目录, cd / 切换到根目录, cd **切换到某个目录(或者叫进入某个文件夹) 3.文件的压缩命令:zip - ...

  10. 获取表空间的语句 以及 建表和索引的ddl

    alter session set container=PHD1; SET SERVEROUTPUT ON SET LINESIZE SET FEEDBACK OFF SET PAGESIZE sel ...