2015-12-25 15 views
5

Tôi đang gỡ lỗi chương trình C++ của mình bằng gdb. Tôi gặp khó khăn khi đặt biến số double đơn giản vì ngôn ngữ của người Đức.Cách đặt biến kép trong gdb bằng ngôn ngữ tiếng Đức?

gdb sẽ không chấp nhận các giá trị có dấu thập phân. Nhập bằng dấu thập phân của Đức (dấu phẩy), gdb bỏ qua mọi thứ sau dấu phẩy.

(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 

Tôi đã tìm tôi có thể tránh được sự cố bằng cách chạy gdb với LC_ALL=EN gdb .... Nhưng vì nó không phải là dễ dàng khi làm việc ra khỏi IDE của tôi, tôi muốn biết nếu có một cách khác.

Làm cách nào người dùng Đức có thể nhập điểm thập phân trong gdb?

Trả lời

2

Hãy nhìn vào lỗi này:
https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/1341125
Có nó là có thể giải thích, tại sao nó không hoạt động như bạn muốn nó.

Bạn có thể thử một workaround như

(gdb) set this->foodSupply = (double) 43/10 

nếu số của bạn là đơn giản như 4.3.

+0

Lỗi đó cũng gợi ý giải pháp chạy 'LC_NUMERIC = C gdb'. –

Các vấn đề liên quan