【发布时间】:2020-10-25 23:48:57
【问题描述】:
我目前正在调试 linux 内核,它已使用 kgdb 正确设置。
我为我要调试的函数设置了一个断点,一旦我运行需要这个内核函数来做某事的程序,就会发生中断,这是需要的。但每当我尝试使用“n”或“si”单步执行代码时,我总是会立即进入 arch/x86/include/asm/apic.h,然后运行一些中断处理代码和计时器。我知道内核被高度并行化,因此它必须在执行时移动到其他一些代码中,但是是否可以更舒适地单步执行该函数?
我想要达到的目标:
之前:
-> A 行
B 行
之后:
A行
-> B 行
我现在拥有的:
之前:
-> A 行
B 行
之后:
A行
...在这里跳转到不同的代码
【问题讨论】:
-
在 B 行设置断点并继续?丑陋,但至少可行。
标签: debugging linux-kernel gdb interrupt kgdb