मुझे मिल गया है परीक्षण कार्यक्रम नीचे की तरह:जीडीबी के अंदर एक स्मार्ट सूचक के आंतरिक डेटा को कैसे देखें?
#include<memory>
#include<iostream>
using namespace std;
int main()
{
shared_ptr<int> si(new int(5));
return 0;
}
डीबग यह:
(gdb) l
1 #include<memory>
2 #include<iostream>
3 using namespace std;
4
5 int main()
6 {
7 shared_ptr<int> si(new int(5));
8 return 0;
9 }
10
(gdb) b 8
Breakpoint 1 at 0x400bba: file testshare.cpp, line 8.
(gdb) r
Starting program: /home/x/cpp/x01/a.out
Breakpoint 1, main() at testshare.cpp:8
8 return 0;
(gdb) p si
$1 = std::shared_ptr (count 1, weak 0) 0x614c20
यह केवल si
का सूचक प्रकार की जानकारी बाहर प्रिंट, लेकिन यह कैसे में संग्रहीत मूल्य प्राप्त करने के (में यह मामला 5
)? डीबगिंग के दौरान si
की आंतरिक सामग्री को मैं कैसे देख सकता हूं?
* "मूल्य में स्टोर स्टोर" * के साथ आपका क्या मतलब है? 'Int'' si' का मान इंगित करता है? –
संभावित डुप्लिकेट [जीडीबी में std :: tr1 :: साझा \ _ptr का लक्ष्य कैसे प्राप्त करें] (https://stackoverflow.com/questions/24917556/how-to-access-target-of-stdtr1shared-ptr-in -जीडीबी) | 'unique_ptr': https://stackoverflow.com/questions/22798601/how-to-debug-c11-code-with-unique-ptr-in-ddd-or-gdb –