我在ubuntu的c ++应用程序中有一个崩溃转储。我正在使用gdb来分析转储。
我可以运行以下命令:
Vagrant.configure(2) do |config|
config.vm.box = "blah/turnkey-lamp-14.2"
config.vm.provider "virtualbox" do |vb|
vb.cpus = 2
vb.gui = true
end
config.vm.boot_timeout = 10000
config.vm.network "private_network", type: "dhcp"
#config.vm.provision :hostmanager
config.ssh.insert_key = false
#config.ssh.private_key_path = "/mnt/vm_lab/vagrant_box_storage/.vagrant.d/insecure_private_key"
config.ssh.forward_agent = true
config.hostmanager.enabled = true
config.hostmanager.manage_guest = true
#config.hostmanager.manage_host = true
config.hostmanager.ip_resolver = proc do |vm, resolving_vm|
if vm.id
`VBoxManage guestproperty get #{vm.id} "/VirtualBox/GuestInfo/Net/1/V4/IP".split()[1]`
end
end
config.vm.define :puppet_server do |srv|
srv.vm.hostname = "puppet-server"
srv.vm.network :private_network, ip: '10.0.3.15'
srv.vm.provision "shell", inline: $puppetServerScript
srv.vm.synced_folder "src/puppet-server", "/etc/puppet", create: true
end
config.vm.define :bareOSdirector do |srv|
srv.vm.hostname = "bareOSdirector"
srv.vm.network :private_network, ip: '10.0.3.10'
srv.vm.provision "shell", inline: $puppetClientBareOSdir
end
config.vm.define :webserver do |srv|
srv.vm.hostname = "webserver"
srv.vm.network :private_network, ip: '10.0.3.8'
srv.vm.provision "shell", inline: $puppetClientWebserver
end
end
bt
frame #
info args
print *this
的输出不是很整洁。
我了解到你可以使用gui包装器Eclipse cdt for gdb。我试着找到一些如何做到这一点的信息,但无法就如何做到这一点找到一个非常明确的答案。
如何使用eclipse cdt wrapper分析使用gdb的转储?
答案 0 :(得分:1)
如何使用eclipse cdt wrapper分析使用gdb的转储?
在Eclipse CDT中,您执行 C / C ++事后调试器会话。
打印输出*这不是很整洁。
单独使用Eclipse CDT可能不会显着改变这一点。您可能希望STL漂亮的打印来帮助支持这一点。
有关在CDT中进行设置的说明,请参阅https://stackoverflow.com/a/33048311/2796832。