2010-10-05 77 views
3

當我在gdb中使用set logging on時,日誌文件的輸出格式與我在終端屏幕上看到的格式不同。日誌文件不可讀。我怎樣才能獲得可讀格式的日誌文件?gdb日誌文件格式

輸出到畫面精美:

(gdb) p foo 
$1 = { 
    static npos = 18446744073709551615, 
    _M_dataplus = { 
    <std::allocator<char>> = { 
     <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
    members of std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider: 
    _M_p = 0x601028 "Hello World!\n" 
    } 
} 

輸出到日誌文件不是很有可讀性:

^Z^Zpost-prompt 

^Z^Zbreakpoints-headers 

^Z^Zfield 0 
Num  
^Z^Zfield 1 
Type   
^Z^Zfield 2 
Disp 
^Z^Zfield 3 
Enb 
^Z^Zfield 4 
Address    
^Z^Zfield 5 
What 

^Z^Zbreakpoints-table 

^Z^Zrecord 

^Z^Zfield 0 
1  
^Z^Zfield 1 
breakpoint  
^Z^Zfield 2 
keep 
^Z^Zfield 3 
y 
^Z^Zfield 4 
0x0000000000400961 
^Z^Zfield 5 
in main at test.cpp:9 
     breakpoint already hit 1 time 

^Z^Zbreakpoints-table-end 

^Z^Zpost-prompt 

^Z^Zvalue-history-begin 1 - 
$1 = 
^Z^Zvalue-history-value 
{ 

^Z^Zfield-begin - 
static npos 
^Z^Zfield-name-end 
= 
^Z^Zfield-value 
18446744073709551615 
^Z^Zfield-end 
, 

^Z^Zfield-begin - 
_M_dataplus 
^Z^Zfield-name-end 
= 
^Z^Zfield-value 
{ 
    <std::allocator<char>> = { 
     <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
    members of std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider: 

^Z^Zfield-begin * 
_M_p 
^Z^Zfield-name-end 
= 
^Z^Zfield-value 
0x601028 "Hello World!\n" 
^Z^Zfield-end 

    } 
^Z^Zfield-end 

} 

^Z^Zvalue-history-end 

^Z^Zpost-prompt 

^Z^Zbreakpoints-headers 

^Z^Zfield 0 
Num  
^Z^Zfield 1 
Type   
^Z^Zfield 2 
Disp 
^Z^Zfield 3 
Enb 
^Z^Zfield 4 
Address    
^Z^Zfield 5 
What 

^Z^Zbreakpoints-table 

^Z^Zrecord 

^Z^Zfield 0 
1  
^Z^Zfield 1 
breakpoint  
^Z^Zfield 2 
keep 
^Z^Zfield 3 
y 
^Z^Zfield 4 
0x0000000000400961 
^Z^Zfield 5 
in main at test.cpp:9 
     breakpoint already hit 1 time 

^Z^Zbreakpoints-table-end 

^Z^Zpost-prompt 

回答

5

您必須使用這個從某種IDE的,果然在MI(機器接口)上。您看到的輸出是爲了便於其他程序解析而製作的,但不適合人類消費。

這可能是一個錯誤,MI接口也會影響gdb.txt日誌的格式。請提交一個關於它的錯誤here

作爲一種解決方法,在IDE之外運行GDB以便收集易於閱讀的文章gdb.txt

+1

你說得對,我正在使用cgdb。在使用gdb時,日誌文件很好。不能相信我發佈前沒有嘗試過!非常感謝! – matthiash 2010-10-11 02:50:24