x86 - 使用GDB读取MSR

标签 x86 gdb x86-64 memory-segmentation msr

在使用 GDB 调试程序时,是否有某种方法可以读取 x86-64 模型特定的寄存器,特别是 IA32_FS_BASE 和 IA32_GS_BASE?

使用动态仪器包(如英特尔的 Pintool)的解决方案不太可取,但仍然会受到赞赏。

最佳答案

自 gdb 8 起,寄存器 $fs_base$gs_base 也可用。这些也适用于代码转储,而不仅仅是实时程序。

关于x86 - 使用GDB读取MSR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095665/

相关文章:

assembly - 哪些 x86 指令需要两个(或更多)内存操作数?

windows - NASM 教程使用 int 80h,但这不适用于 Windows

Objective-C - 使用 GDB 打印方法参数

linux - 跨gdb : fix a mismatch between libthread_db and libpthread

c++ - 在 C++ gdb 核心转储中,我可以查看是否仍分配了指针吗?

c++ - <atomic> 的 CMPXCHG16B 和 MSVC 实现不是默认的?

assembly - 为什么 Assembly x86_64 系统调用参数不像 i386 那样按字母顺序排列

assembly - 即时生成矢量常数的最佳指令序列是什么?

assembly - x86 程序集的 BIOS 版本

assembly - printf 在 x86-64 上是否需要额外的堆栈空间?