不能使用/亩上的char * /亩是空终止的Unicode字符串不是ASCII字符串使用ASCII字符串/MA
我假设你有描述性的参数名而不是像d 这样的论据,这明显会与0xd aka 0n13
是一个数字,字符串还是符号?
会有什么POI(d)决心,你的情况是POI(0×13)这显然是一个坏的去全球化志愿服务青年
或局部符号不合逻辑命名d?
也当您使用别名的时候你应该总是他们的东西在脚本文件并执行 脚本文件上的每个打破
这里是一个脚本文件的例子打破 别名不解释
as /ma ${/v:MyAlias} poi(k)
.block {
r $t0 = $spat("${MyAlias}" , "tiger")
.printf "%x\t${MyAlias}\n" , @$t0
.if(@$t0 != 1) {gc}
}
这里是此在调试模式下运行comipled与优化在释放模式编译器关闭
将是足够聪明,内联代码的printf()调用
#include <stdio.h>
#include <stdlib.h> //msvc _countof
void func(char* h,char* i,char* j,char* k) {
printf("%s %s %s %s\n" ,h,i,j,k);
return;
}
int main(void) {
char* foo[] = {"goat","dog","sheep","cat","lion","tiger",0,"vampire"};
for(int x=0;x<_countof(foo);x++) {
func("this" , "is" , "a" , foo[x]);
}
return 0;
}
使用
的WinDbg APP.EXE
设置断点和运行
记住这个或任何脚本,使用别名将失败
之前焦炭评估无效项*吸血鬼
如果你想打破“吸血鬼”你可能需要即兴而不使用别名
0:000> bl
0:000> bp strbp!func "$$>a< strbpcond.txt"
0:000> bl
0 e 00171260 0001 (0001) 0:**** strbp!func "$$>a< strbpcond.txt"
0:000> g
ModLoad: 72670000 72673000 C:\Windows\system32\api-ms-win-core-synch-l1-2-0.DLL
0 goat
0 dog
0 sheep
0 cat
0 lion
1 tiger
eax=00000005 ebx=7ffd7000 ecx=00000005 edx=001ac1e0 esi=001b6678 edi=001b667c
eip=00171260 esp=002bfa54 ebp=002bfa90 iopl=0 nv up ei ng nz ac po cy
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000293
strbp!func:
00171260 55 push ebp
0:000> dv
h = 0x001ac1f8 "this"
i = 0x001ac1f4 "is"
j = 0x001ac1f0 "a"
k = 0x001ac1e0 "tiger"
“不起作用”是什么意思?它是否破裂?它执行命令还是不执行?它是否继续在错误的情况下?它是否设置了别名?是否有错误讯息? –
谢谢你,托马斯。它不会中断。 –
对不起,我的意思是它总是打破。这不是预期的。 –