【问题标题】:How can I prevent interrupts stepping out from my code while debugging?调试时如何防止中断从我的代码中跳出?
【发布时间】: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


【解决方案1】:

我认为这很难。让我们想想如果中断都被中止了,那你怎么能通过键盘或鼠标来下订单呢?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-05
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 2016-01-17
    相关资源
    最近更新 更多