如何在 gdb 中使用数学函数
How to use math functions with gdb
我是一名学生,我遇到了一个问题:当我在我的 Linux 程序中使用 pow
或 asin
并尝试使用 GDB 对其进行调试时,出现错误:未定义参考 'pow'.
我知道要在 GCC 编译器中解决这个问题,我需要添加 -lm
键。 GDB 是否有像 -lm
这样的键?
gdb 使用编译后的文件进行调试。所以在使用 -lm 和 -g 之后,你可以 运行 通常使用 gdb 生成的文件。换句话说,您应该运行宁以下对我有用:
gcc -g test.c -lm
gdb ./a.out
要使用数学函数,您必须使用 -lm
选项编译源代码(这将消除数学函数的未定义引用错误),
为了使调试符号在 gdb 中可用,您必须使用 -g
选项编译源代码。
gcc -g -o myprog main.c -lm
用
调试程序运行
gdb ./myprog
要在使用 gdb 调试期间打印或使用任何函数,请使用 gdb 的 call
函数
call (double)pow(3.0, 2.0)
确保使用正确的函数语法,否则gdb return错误答案
call (double) pow (double , double)
我是一名学生,我遇到了一个问题:当我在我的 Linux 程序中使用 pow
或 asin
并尝试使用 GDB 对其进行调试时,出现错误:未定义参考 'pow'.
我知道要在 GCC 编译器中解决这个问题,我需要添加 -lm
键。 GDB 是否有像 -lm
这样的键?
gdb 使用编译后的文件进行调试。所以在使用 -lm 和 -g 之后,你可以 运行 通常使用 gdb 生成的文件。换句话说,您应该运行宁以下对我有用:
gcc -g test.c -lm
gdb ./a.out
要使用数学函数,您必须使用 -lm
选项编译源代码(这将消除数学函数的未定义引用错误),
为了使调试符号在 gdb 中可用,您必须使用 -g
选项编译源代码。
gcc -g -o myprog main.c -lm
用
调试程序运行gdb ./myprog
要在使用 gdb 调试期间打印或使用任何函数,请使用 gdb 的 call
函数
call (double)pow(3.0, 2.0)
确保使用正确的函数语法,否则gdb return错误答案
call (double) pow (double , double)