od 调试多线程问题

od对于单线程程序的调试效果非常高,今天在分析病毒是遇到个多线程病毒。在新线程中下硬件断点 hr 发现od并没有断下

在网上找了一下说这个问题的人并不多不知道有没有人帮忙解答一下。

我在调试病毒的时候是下的软件断点但是程序要重新调试这个软件断点才起到效果。

下面是问题的一个简单例子代码

#include "stdafx.h"
#include <iostream>
#include
<Windows.h>

using namespace std;

int g_i = 0
;

//线程W
LRESULT myWorkThread(DWORD)
{
while (1)
{
g_i =
g_i + 1 ; //这里改写变量
::Sleep(3) ;
}
}

//线程R
int _tmain(int
argc, _TCHAR*
argv[])
{
CloseHandle(::CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)myWorkThread,NULL,0,NULL))
;
while ( 1 )
{
cout << g_i << endl ;
//手动在这里断下,然后下硬件写断点,OD无法在 myWorkThread 中断下
Sleep(6*1000) ;
}
return
0;
}

转载于:https://www.cnblogs.com/maixiaokou/archive/2012/11/24/2786284.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值