我可以在 gdb 下打印 gdtr 和 gdt 描述符吗?


I want to use gdb to see my GDTR/LDTR/TTR and segment register

隐形部分(x86) 所以在 gdb 中我输入"p/x $gdtr"....等 但结果是"$6 = 值无法转换为整数" 在 gdb 中我输入"p/x $cs" 唯一的结果是CS,只是可见的部分

can anyone tell me how to view these value??

谢谢你的回答

如果 GDB 有这样的函数,那么这个函数只有在 GDB 能够使用 SGDT 指令读取 GDTR 时才有效。这意味着 GDB 必须在环 0 中运行。

Linux 、Windows 和 Mac OS 都不允许在环 0 中运行应用程序(如 GDB),因此它不适用于本地应用程序。

如果使用远程调试(使用 RS-232 或 TCP/IP 连接调试另一台计算机或虚拟机):用于远程调试的默认协议不指定用于读取 GDTR 的数据包。

在远程调试的情况下,后端(调试计算机上的代码段)可以使用"monitor"命令定义非标准功能。您将能够使用类似"Monitor readspr gdtr"之类的命令来实现这样的功能。

相关内容

  • 没有找到相关文章

最新更新