我正在尝试用gdb创建一个小单元测试,用于由OpenOCD控制的嵌入式mcu (这使我可以通过gdb服务器控制我的目标).
所以我想用gdb的一些脚本来自动执行此操作.
我想为gdb写一些或多或少的脚本:
有任何想法吗?
关于如何在python gdb脚本中执行此操作的示例将是很好的.
谢谢约翰
注意:
假设我们有这个基本结构,或多或少进入test_failed()或test_success(),具体取决于函数start_test()返回的内容.
void test_failed() {
while(1);
}
void test_success() {
while(1);
}
int main(void) {
int status = start_test();
if( status > 0 ) {
test_failed();
}
test_success();
while(1);
}
Run Code Online (Sandbox Code Playgroud)
在gdb中手动执行此操作是非常紧张的,
(gdb) break test_success
Breakpoint 1 at 0x20: file src/main.c, line 9.
(gdb) break test_failed
Breakpoint 2 at 0x18: file src/main.c, line 5.
(gdb) cont
Continuing.
Breakpoint 1, test_success () at src/main.c:9
9 while(1);
(gdb) …Run Code Online (Sandbox Code Playgroud)