【文件属性】:
文件名称:强制调用函数-故障注入测试
文件大小:237KB
文件格式:PDF
更新时间:2024-07-07 18:23:25
gdb
15.5、强制调用函数
call
表达式中可以一是函数,以此达到强制调用函数的目的。并显示函数的
返回值,如果函数返回值是 void,那么就不显示。
另一个相似的命令也可以完成这一功能——print,print后面可以跟表达式,
所以也可以用他来调用函数,print和 call的不同是,如果函数返回 void,call则
不显示,print则显示函数返回值,并把该值存入历史数据中。
十六、在不同语言中使用 GDB
GDB 支持下列语言:C, C++, Fortran, PASCAL, Java, Chill, assembly, 和
Modula-2。一般说来,GDB 会根据你所调试的程序来确定当然的调试语言,比
如:发现文件名后缀为“ .c”的,GDB 会认为是 C 程序。文件名后缀为
“.C, .cc, .cp, .cpp, .cxx, .c++”的,GDB会认为是 C++程序。而后缀是“.f, .F”
的,GDB会认为是 Fortran程序,还有,后缀为如果是“.s, .S”的会认为是汇编
语言。
也就是说,GDB 会根据你所调试的程序的语言,来设置自己的语言环境,
并让 GDB 的命令跟着语言环境的改变而改变。比如一些 GDB 命令需要用到表
达式或变量时,这些表达式或变量的语法,完全是根据当前的语言环境而改变的。
例如 C/C++中对指针的语法是*p,而在Modula-2中则是 p^。并且,如果你当前
的程序是由几种不同语言一同编译成的,那到在调试过程中,GDB 也能根据不
同的语言自动地切换语言环境。这种跟着语言环境而改变的功能,真是体贴开发
人员的一种设计。
下面是几个相关于 GDB语言环境的命令:
show language
查看当前的语言环境。如果 GDB不能识为你所调试的编程语言,那么,
C语言被认为是默认的环境。
info frame
查看当前函数的程序语言。