GDB - 访问复数的实部和虚部

nim*_*odm 7 c c++ gdb complex-numbers

调试使用(C或C++)的程序时,将gdb复数显示为_M_value = xxx + yyy*I(具有类型complex double).

在调试时,我需要打印该数字乘以一个因子.

以下不起作用:

print a * 8.0
Run Code Online (Sandbox Code Playgroud)

我得到Argument to arithmetic operation not a number or boolean.

此外,我无法访问实部和虚部,以便我可以编写一个gdb宏来执行上述操作.我目前的解决方案是编写一个C函数来处理复杂的值和数组,并从gdb调用该函数.不知何故,这感觉不对.

neu*_*uro 3

如果您使用标准 C++ 复杂模板,则complex::real() 和complex::imaj() 应该可以工作。

我的2c

注:是一条评论^^