小编Kyl*_*yle的帖子

如何使用在同一CPU上运行的调试器读取CPU寄存器?

当我学习汇编时,我使用GDB的方式如下:

gdb ./a.out (a is a compiled C script that only prints hello world)
break main
run
info registers
Run Code Online (Sandbox Code Playgroud)

当我自己使用相同的CPU打印寄存器时,为什么我可以看到程序使用的寄存器?不应该使用GDB(或操作系统)覆盖寄存器,只显示覆盖的寄存器?我能想到的唯一答案是我的CPU是双核的,其中一个内核正在使用,另一个是为程序保留的.

c cpu assembly gdb

10
推荐指数
2
解决办法
575
查看次数

C-在执行期间检查特定的内存地址

是否可以取消引用void指针而不知道(在执行期间)知道位于内存中的项目的大小?或者,如果无法使用void指针,我如何访问特定的内存地址(位于堆中)并在执行特定字节数期间读取只知道的内容?

c heap pointers

4
推荐指数
1
解决办法
73
查看次数

如何让用户输入调用函数C

我如何使用变量(我将从用户输入获得)来调用函数?

char user_function[10];
scanf("%s", user_function);
user_function(); //Calls the function named user_function that the user typed
Run Code Online (Sandbox Code Playgroud)

(没有像这样的东西)

char user_function[10];
scanf("%s", user_function);
if( strcmp(user_function, 'printf()'))
printf();
Run Code Online (Sandbox Code Playgroud)

c

3
推荐指数
1
解决办法
373
查看次数

标签 统计

c ×3

assembly ×1

cpu ×1

gdb ×1

heap ×1

pointers ×1