2010-03-23 34 views
13

是否有可能......當調試器停在斷點處時,修改std :: string變量的值而不訴諸像調整當前緩衝區的內存映像之類的黑客行爲?從gdb設置std :: string變量值?

例如像 「設置VAR了mystring =」 Hello World」的

回答

20

試試這個(測試,對我的作品):

call mystring.assign("hello world") 

的關鍵在於不是直接修改內存,可以調用對象的功能來改變它的狀態,所以碰巧std::basic_string有一個名爲assign的成員函數,它可以完成這項工作

+1

非常好!這不僅僅是我所需要的,它闡明瞭我對gdb工作原理的看法。 – Stabledog 2010-03-23 20:01:20