能力值:
( LV2,RANK:10 )
|
-
-
2 楼
Ida好像也遇到过,只能忍
|
能力值:
( LV5,RANK:68 )
|
-
-
3 楼
IDA X64DBG WINDBG 全都有这个毛病
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
万剑归宗
IDA X64DBG WINDBG 全都有这个毛病[em_1]
不过CE就没有这个毛病,有什么思路改掉吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
imliuxin
Ida好像也遇到过,只能忍
不过CE就没有这个毛病,有什么思路改掉吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
hook waitfordebugevent 是自己设置过的硬件断点,而且已经清除,对所有线程的这个断点事件都处理一次,不要反回给系统
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
小希希
hook waitfordebugevent 是自己设置过的硬件断点,而且已经清除,对所有线程的这个断点事件都处理一次,不要反回给系统
不要返回给windows系统?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
特意测试了一下,没发现你说的问题。 很容易测试,在代码区设置一个硬件执行断点,然后看寄存器区域dr0的值是不是你设置的地址,再到断点管理窗口删除该断点,再看寄存器区dr0是不是为0?关闭调试器,再打开调试器调试该程序,看是不是还有该硬件断点?显然是没有的。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
tDasm
特意测试了一下,没发现你说的问题。
很容易测试,在代码区设置一个硬件执行断点,然后看寄存器区域dr0的值是不是你设置的地址,再到断点管理窗口删除该断点,再看寄存器区dr0是不是为0?关闭调试器,再打 ...
第一:开10条线程访问同一个变量。 第二:附加后对该变量下硬件访问断点 第三:断下来后,你点击运行3-5次 第四:删除硬件断点 第五:点击运行,你会发现有很多有一些线程DR0是有值的。 调试程序的时候,你关闭调试器干什么?
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
cheating
第一:开10条线程访问同一个变量。
第二:附加后对该变量下硬件访问断点
第三:断下来后,你点击运行3-5次
第四:删除硬件断点
第五:点击运行,你会发现有很多有一些线程DR0是有值的。
...
你这样的思维也是醉了。 不就是2种状态? 1、调试时不关闭,检查删除的硬件断点是否存在? 2、调试后关闭再调试,检查删除的硬件断点是否存在? 既然你已经遇到,你就把你的调试样本发出来让大家测试不就完了?说那么多空话干吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
tDasm
你这样的思维也是醉了。
不就是2种状态?
1、调试时不关闭,检查删除的硬件断点是否存在?
2、调试后关闭再调试,检查删除的硬件断点是否存在?
既然你已经遇到,你就把你的调试样本发出来让大家测试 ...
已上传附件
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
cheating
已上传附件
真是服了你,让传样本就传个源码,你以为每台电脑上VS都是标配吗
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
huangyalei
真是服了你,让传样本就传个源码,你以为每台电脑上VS都是标配吗 样本文件已上传,下断地址:0x004AF880 附加进程后,在【内存窗口】中对 0x004AF880 下硬件访问断点,点击运行3-5次,之后删除硬件断点,再次点击运行,会发现有一些线程的DR0没有办法删除。
最后于 2023-7-22 01:16
被cheating编辑
,原因: 文字表示有误
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
明确告诉你,X64DBG在硬件断点管理上是没有什么问题的,只是你对多线程的理解不够深刻,希望你自己仔佃去捉摸。当然x64dbg还可以更完美!
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
我试了七八次,没能复现你的问题,你得检查一下是不是插件影响,或者不带插件调试
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
tDasm
明确告诉你,X64DBG在硬件断点管理上是没有什么问题的,只是你对多线程的理解不够深刻,希望你自己仔佃去捉摸。当然x64dbg还可以更完美!
直接下断就好,CE都没有这问题。
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
huangyalei
我试了七八次,没能复现你的问题,你得检查一下是不是插件影响,或者不带插件调试
我这没有插件,干干净净的,要下什么插件呢?我也下来看看
|
能力值:
( LV3,RANK:25 )
|
-
-
18 楼
__declspec(dllexport) void TITCALL DebugLoop() -> 输出 DR0-DR3 是没值的 ContinueDebugEvent 输出 DR0-DR3 居然有值了 既然是多线程,你应该再确定是否同一个线程,不完美就是问题
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
KooJiSung
__declspec(dllexport) void TITCALL DebugLoop() ->
输出 DR0-DR3 是没值的
ContinueDebugEvent
输出 DR0-DR ...
__declspec(dllexport) void TITCALL DebugLoop() -> for (int i=0;....) { dr0 = threadarray(i);//遍历所有线程 dr0 均无值 } ContinueDebugEvent for (int i=0;....) { dr0 = threadarray(i);//遍历所有线程 dr0 有一些线程有值 } 不明白。
|
|
|