|
|
|
|
|
|
|
Windows内核调试
帖子发起人: kk345 发起时间: 2014-09-03 23:27 下午 回复: 1
|
帖子排序:
|
|
|
|
2014-09-03, 23:27 下午
|
kk345
注册: 2014-08-29
发 贴: 4
|
张老师,条件断点为什么会这样呢?
|
|
|
|
测试函数 void qqq(char * str) {}
void main() { while(1) { qqq("c1");
qqq("c2");
qqq("c3");
Sleep(300); }
}
设置条件断点 bp qqq "r $t1=poi(esp+4); as /ma $String $t1; .if($scmp(\"${$String}\",\"c1\")==0){} .else{.printf\"File:%ma \",$t1;g}"
查看断点 0:000> bl 0 e 00d5c540 [d:\test\ctest\ctest\ctest.cpp @ 9] 0001 (0001) 0:**** CTest!qqq "r $t1=poi(esp+4); as /ma c1 $t1; .if($scmp(\"c1\",\"c1\")==0){} .else{.printf\"File:%ma \",$t1;g}"
为什么String被固定为字符串 "c1" 了,然后每次运行qqq都断下来了,总是匹配成功
不能根据调用参数动态对比吗?
谢谢!
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2014-09-04, 11:09 上午
|
kk345
注册: 2014-08-29
发 贴: 4
|
|
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
高端调试 » 软件调试 » Windows内核调试 » Re: 张老师,条件断点为什么会这样呢?
|
|
|
|
|
|