怎么用vc6调试其它进程

luobinshan 2009-09-15 02:13:08

我用CreateProcess创建了一个进程, 怎么才能调试创建的这个进程?

越详细越好

...全文
260 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Qt-UI 2009-09-16
  • 打赏
  • 举报
回复
附加到进程只能调试进程中有调试信息的模块 你创建的进程有调试信息吗
luobinshan 2009-09-16
  • 打赏
  • 举报
回复
总算可以调试了

打开一个vc6, 在待调试的代码中使用messagebox暂停, 设定一个断点, 按ctrl+b, 复制这个断点的信息,
执行时会停止在messagebox处

再打开一个vc6, Build->Start to Debug->Attach to process 选择要调试的进程, 按ctrl+b设置断点信息, 点击messagebox后会从这里开始执行, 之后就可以进入代码了
luobinshan 2009-09-16
  • 打赏
  • 举报
回复
需要什么样的调试信息, 我的都是debug版本的, 没改vc6的任何参数
luobinshan 2009-09-15
  • 打赏
  • 举报
回复
Build->Start to Debug->Attach to process
可以attach到子进程(子进程用messagebox暂停),
但是之后进入了一个界面, 怎么操作都没反应, 也看不到子进程的源码
luobinshan 2009-09-15
  • 打赏
  • 举报
回复
父进程CreateProcess子进程, 它们属于不同的工程.

将子进程的 Project->Setting->Debug->Executable for debug session设置成父进程的路径, 这样是进不了子进程的, dll和控件可以这样用

有其它的办法吗

==================
在你想要调试的子程序的代码中加入一句代码DebugBreak();
然后重新编译你的子程序的调试版本。现在调试主程序,
子程序的调试版本在运行的过程中,当执行到DebugBreak()时,将会抛出一个异常,
这个异常会由操作系统捕捉到,然后弹出一个对话框,说程序遇到了问题,问你要不要发送错误报告,点击该对话框的调试按钮,系统又会弹出一个对话框,选择相应的调试器进行调试,然后子进程就会中断在代码DebugBreak()处,接下来就可以正常调试了。
==================
我在子进程中加了DebugBreak, 但是根本没有错误报告, 子进程运行到DebugBreak直接退出了
我辣椒哥 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 superdiablo 的回复:]
Build->Start to Debug->Attach to process
然后设置断点调试
[/Quote]
superdiablo 2009-09-15
  • 打赏
  • 举报
回复
Build->Start to Debug->Attach to process
然后设置断点调试
  • 打赏
  • 举报
回复
打开进程的工程选项。
选择启动exe为你创建进程的exe然后运行即可。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧