vc6调试子进程的方法

子进程运行后attach to process是一种方法。
而如果想重头到尾单步跟踪调试子进程,则可以先在子进程源代码的最开始处放一个"DebugBreak();",这样子程序运行后会出现异常对话框,
对话框上选调试,启动VC6进行调试,如果没有启动VC6(比如:只是弹出个对话框可选vs2003,vs2005之类的),则可以勾选vc6的菜单Tools->Options->Debug->Just in time debugging...,再试一次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
VC(Visual C++)是一种使用C++语言开发的集成开发环境,针对Windows操作系统的开发工具。在编写VC程序的过程中,我们可以通过一些技巧来防止程序被调试。 1. 检测父进程:在程序启动时,可以通过获取父进程的ID来判断程序是否被调试。如果父进程ID为0或者是调试器的进程ID,则说明程序正在被调试。 2. 检测调试器:通过检测调试器的存在可以判断程序是否被调试。可以使用IsDebuggerPreset函数来检测是否存在调试器。 3. 检测软件断点:在调试过程中,调试器经常会在代码中插入断点。我们可以在关键代码处,使用一些技巧来检测是否存在软件断点。比如,我们可以检测指定地址是否被修改为INT 3指令。 4. 检测硬件断点:调试器在调试过程中还会使用硬件断点。我们可以通过使用一些技巧来检测是否存在硬件断点。比如,我们可以检测特定的寄存器是否被修改,或者检测调用int 3指令的频率等。 5. 反调试函数:通过使用一些反调试函数,我们可以防止程序被调试。比如,我们可以使用CheckRemoteDebuggerPresent函数来检测远程调试器是否存在;使用OutputDebugString函数来向调试器输出信息等。 需要注意的是,上述的方法只是防止一些一般性的调试方法,对于高级的调试技术仍然可能存在漏洞。因此,在编写反调试代码时,需要结合其他的安全措施来确保程序的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金乌爬虫

你的鼓励是我创造的最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值