You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SASM调试x86-64汇编时$rsi与string2显示差异问题

问题原因分析

这是SASM调试器对符号(label)和寄存器的处理逻辑差异导致的:

  • string2是汇编器定义的符号,本质是.data段中"hello"字符串的起始地址。SASM调试器默认会直接显示该符号指向的内存内容(也就是"hello"字符数组);但当你勾选「address」选项时,调试器会把你输入的内容当作内存地址数值来解析——它没有把string2这个符号转换成对应的地址数值,反而直接把符号名本身当作地址(显然这不是合法的内存地址),所以会报错Wrong variable or address: "string2"。

  • $rsi是寄存器,调试器能正确读取寄存器里存储的数值(也就是string2对应的地址)。当勾选「address」选项时,调试器会用寄存器里的这个数值作为内存地址,去访问对应的内存区域,自然就能正确显示"hello"字符数组。

如果想通过符号string2勾选「address」也能正常显示,可以试试在监视框里输入&string2(部分调试器支持这种取符号地址的语法),或者直接输入string2对应的具体地址数值(调试时看$rsi的值即可得到),这样就能正常解析了。

内容的提问来源于stack exchange,提问作者Rick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 22:15:09