SASM Debugger无法在F8设置的CMAIN断点处停止问题求助
SASM断点不触发问题排查方案
- 补全调试信息编译参数
你当前的汇编、链接配置未携带调试信息生成标识,导致调试器无法识别你设置的断点位置。打开SASM设置的「构建」标签页,根据你使用的位数修改参数:- 32位程序:NASM汇编参数追加
-g dwarf,GCC链接参数追加-g - 64位程序:NASM汇编参数追加
-g dwarf64,GCC链接参数追加-g
修改后重新构建程序再调试即可。
- 32位程序:NASM汇编参数追加
- 核对程序入口配置
部分SASM版本默认程序入口为main,如果你代码中声明的入口是CMAIN,需要确认global CMAIN声明存在,同时在SASM设置的「调试」标签页取消勾选启动调试后自动运行到main函数选项,避免调试器跳过你设置的入口断点。 - 验证断点设置有效性
可以先写最小测试用例验证:
给global CMAIN CMAIN: mov eax, 0 retmov eax, 0行设置断点,重新构建后调试,如果还是无法触发,尝试重装SASM到最新稳定版,排除软件本身的bug。
内容的提问来源于stack exchange,提问作者mor15Euro
相关产品推荐
相关产品推荐

