我正在用gdb调试我的c ++程序。由于德语区域设置,我很难设置简单的double
变量。
gdb不接受带小数点的值。键入德语小数点(逗号),gdb忽略逗号后的所有内容。
(gdb) p this->foodSupply
$1 = 1
(gdb) set this->foodSupply = 4.3
Ungültige Nummer »4.3«.
(gdb) p this->foodSupply
$1 = 1
(gdb) set this->foodSupply = 4,3
(gdb) p this->foodSupply
$3 = 4
我想我可以通过使用LC_ALL=EN gdb ...
运行gdb来避免此问题。
但是,由于在使用我的IDE时不那么容易,我想知道是否还有其他方法。
德国用户如何在gdb中键入小数点?
答案 0 :(得分:2)
看看这个bug:
https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/1341125
在那里可能会解释,为什么它不像你想要的那样工作。
您可以尝试类似
的解决方法(gdb) set this->foodSupply = (double) 43/10
如果您的号码简单到4.3。