[英]print contents of std::vector<std::string> in lldb
[英]Print string with newlines with lldb
我想使用lldb打印一個字符串, const char*
或std::string
,這樣它就是人類可讀的。 最重要的是, \\n
將被打印為換行符。 有誰知道如何做到這一點? 我在這篇文章中嘗試了為gdb提供的建議,但它似乎不適用於lldb。
編輯:我知道您可以發出print myString
命令來打印字符串,但是它不會格式化換行符(至少在默認情況下不是這樣):
大多數情況下,您希望查看字符串的文字內容,因此打印的默認lldb行為是正確的。 但是,使用格式選項以與標准庫執行字符串相同的方式“呈現”輸出將是有用的。 這基本上就是gdb“printf”命令。 請向lldb.llvm.org錯誤記者提出錯誤請求。
就像使用gdb一樣,您可以獲得標准庫來為您呈現文本:
(lldb) expr (void) printf("Some text\nMore text\nEven more text\n")
Some text
More text
Even more text
(lldb)
在這種情況下我將它轉換為void,因為我不關心返回值,這使得查看文本變得更加困難。
正如你在上面提到的那篇文章中指出的那樣,如果你的輸出沒有到達某個終端,這是沒有用的,所以一些明確的“渲染輸出”選項也是一個好主意。 但是,只有在調試器中附加,而不是運行程序時才會發生這種情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.