提问人:javierMarquez 提问时间:11/30/2022 最后编辑:javierMarquez 更新时间:11/30/2022 访问量:63
ASM 中的 Printf 或 MessageBox 用于调试
Printf or MessageBox in ASM for debugging
问:
我尝试在 x32dbg 中调试 MFC 程序如何使用 IO 端口,我想在从函数返回之前在 in/out 程序集命令后添加 printf 或 MessageBoxA 并显示一些值。当我把printf:
push eax //eax contains the value
call printf
add esp,4
ret
我遇到异常C0000005 EXCEPTION_ACCESS_VIOLATION
如果我使用 MessagrBoxA:
push 0 //OK
push eax // eax contains the value
push eax
push 0 // HWND
call dword ptr ds:[54352C] // linked user32.MessageBoxA
ret
我在 MessageBoxA 中得到了相同的异常。为什么会这样?如何以另一种方式输出一些值?
更新:
如果我在这里使用 putchar:
push eax
call putchar
add esp,4
ret
我一无所获,因为我没有在我的应用程序中初始化控制台。是否可以在 ASM 中初始化它并与主应用程序并行运行控制台?
答: 暂无答案
评论
printf
MessageBox