GDB之call、print手动调用函数(十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:GDB之使用call、print手动调用函数。

2.调试实例

#include 
#include 

void test1(){
  printf("xxx----------->%s(), line = %d\n",__FUNCTION__,__LINE__);
}

int main(void){
  std::string buf1 = "Hello";
  std::string buf2 = "World";

  printf("buf1 is %s, buf2 is %s\n", buf1.c_str(), buf2.c_str());
  return 0;
}

调试步骤:gdb使用call、print手动调用函数。

(gdb) b main
Breakpoint 1 at 0x1424: file test.cpp, line 8.
(gdb) r
Breakpoint 1, main () at test.cpp:8
8	int main(void){
(gdb) call test
test.cpp  test1()   
(gdb) call test1()
xxx----------->test1(), line = 5
(gdb) 
xxx----------->test1(), line = 5
(gdb) print test1()
xxx----------->test1(), line = 5
$1 = void

你可能感兴趣的:(gdb实战研究,gdb)