OGeek|极客世界-中国程序员成长平台

标题: c++ - How to inspect std::string in GDB with no source code? [打印本页]

作者: 菜鸟教程小白    时间: 2022-5-24 13:56
标题: c++ - How to inspect std::string in GDB with no source code?

I'm trying to debug a program that has no source code available, and I need to look at what it has stored in a std::string. I've been Googling and looking on here, and I've found some information about outputting STL containers, but all of it refers to variables, with no source or debug information all I have is a memory offset of the class data. Is there any way to do this?



Best Answer-推荐答案


Every std::string implementation has a pointer to the raw characters in it somewhere. For g++ 4.x, that pointer is at offset 0 into the string.

If you know that the string resides at e.g. 0x7fffffffda88, then

print *(char**)0x7fffffffda88

is what you need.






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4