Tiếp theo là mã nguồn của tôi:Kiểm tra tăng shared_ptr với gdb
#include <iostream>
#include <boost/shared_ptr.hpp>
class MyClass
{
public:
MyClass()
{
i=10;
}
private:
int i;
};
int main(int argc, const char *argv[])
{
boost::shared_ptr <MyClass> obj(new MyClass());
return 0;
}
Tôi muốn kiểm tra obj trong gdb, và xem giá trị của biến thành viên i.
Đây là những gì tôi nhận được với in bình thường:
29 boost::shared_ptr <MyClass> obj(new MyClass());
(gdb) n
30 return 0;
(gdb) p obj
$1 = {px = 0x602010, pn = {pi_ = 0x602030}}
tôi đã cố gắng đầu đề cập trong this link, nhưng không hoạt động.
(gdb) call (obj.get())->print()
Cannot evaluate function -- may be inlined
Còn cách nào khác không? Phiên bản gdb là 7.0.1.
Một người bạn cũ tốt là đồng bằng printf:) –
@ Anand Rathi ..., vâng, nhưng tôi chỉ muốn biết nếu điều này là có thể với gdb. –