Structure in GDB
使用**结构化思维**来分析GDB。
Contain关系
一个gdb session可以 contain 多个 inferior;
一个inferior可以 contain 多个 thread;
一个thread有一个call stack,call stack contain 多个 stack frame;
通过上面的描述可知:整体形成了一个tree structure
thread1
inferior1 thread2
session inferior2
inferior3
一对多关系
在使用gdb的时候,我们只有一个session,但是可能有多个inferior、多个thread、多个stack frame,显然这是一种 一对多 关系;
由于只有一个session,所以在使用gdb的时候,就需要涉及到current、switch and select、apply to all。
Current
Current inferior: 4.9 Debugging Multiple Inferiors Connections and Programs
Current thread: 4.10 Debugging Programs with Multiple Threads
Current stack frame: 8 Examining the Stack
Switch and select
Select a inferior: inferior infno
Select a thread: thread thread-id
Select a frame: 8.3 Selecting a Frame
Apply to all
Thread: thread apply
Stack frame: 8.5 Applying a Command to Several Frames.