当用gdb打开一个coredump时,gdb会尝试将完整的coredump加载到内存中吗?我在我们的一个暂存系统上发现了一个大小为35Gb的核心转储。我们的操作说明要求使用gdb创建回溯。恐怕gdb会尝试将完整的coredump加载到内存中,并通过用尽所有可用内存使暂存区域不可用。我们在RedHatEL5/64位安装上使用gdb7.0.1。 最佳答案 Whenopeningacoredumpwithgdb,willgdbtrytoloadthefullcoredumpintomemory?没有。I'mafraidgdbwilltry
我正在尝试通过我的32位英特尔笔记本电脑在远程英特尔64位机器上调试(一个简单的HelloWorld应用程序,没有用于测试的错误)。我跑gcc-g-ocexecutecexecute.cgdbserverlocalhost:2345cexecute在远程机器上。在我将笔记本本地端口2345转发到相同的远程端口后,运行gdb并键入targetremotelocalhost:2345我得到:GNUgdb(GDB)7.5-ubuntuCopyright(C)2012FreeSoftwareFoundation,Inc.LicenseGPLv3+:GNUGPLversion3orlaterTh
我正在尝试通过我的32位英特尔笔记本电脑在远程英特尔64位机器上调试(一个简单的HelloWorld应用程序,没有用于测试的错误)。我跑gcc-g-ocexecutecexecute.cgdbserverlocalhost:2345cexecute在远程机器上。在我将笔记本本地端口2345转发到相同的远程端口后,运行gdb并键入targetremotelocalhost:2345我得到:GNUgdb(GDB)7.5-ubuntuCopyright(C)2012FreeSoftwareFoundation,Inc.LicenseGPLv3+:GNUGPLversion3orlaterTh
当我使用-g编译程序并获得核心转储时,我可以使用gdb读取可执行文件和核心转储以调试程序在崩溃前遇到的情况。特点之一gdb优惠是list选项,可以列出使用可执行文件和核心转储编译的源代码。我用了strings-a使用可执行文件和核心转储,我什至找不到一个if或for语句,而我确定代码中有很多语句。那么代码是从哪里来的呢?我在一台计算机上编译代码并在另一台计算机上运行它,因此生成核心转储的计算机上没有源代码,而且它似乎不在可执行文件或核心转储中。有什么建议么?我真的很想打印可执行文件和核心转储中的所有源代码,这可能吗?我的意思是不运行gdb,我确信可以编写一个使用gdb的脚本并且可以列出
当我使用-g编译程序并获得核心转储时,我可以使用gdb读取可执行文件和核心转储以调试程序在崩溃前遇到的情况。特点之一gdb优惠是list选项,可以列出使用可执行文件和核心转储编译的源代码。我用了strings-a使用可执行文件和核心转储,我什至找不到一个if或for语句,而我确定代码中有很多语句。那么代码是从哪里来的呢?我在一台计算机上编译代码并在另一台计算机上运行它,因此生成核心转储的计算机上没有源代码,而且它似乎不在可执行文件或核心转储中。有什么建议么?我真的很想打印可执行文件和核心转储中的所有源代码,这可能吗?我的意思是不运行gdb,我确信可以编写一个使用gdb的脚本并且可以列出
我想使用gdb调试python脚本。启动gdb后,输出:[root@localhostscripts]#gdbpythonGNUgdb(GDB)RedHatEnterpriseLinux7.6.1-51.el7Copyright(C)2013FreeSoftwareFoundation,Inc.LicenseGPLv3+:GNUGPLversion3orlaterThisisfreesoftware:youarefreetochangeandredistributeit.ThereisNOWARRANTY,totheextentpermittedbylaw.Type"showcopyi
我想使用gdb调试python脚本。启动gdb后,输出:[root@localhostscripts]#gdbpythonGNUgdb(GDB)RedHatEnterpriseLinux7.6.1-51.el7Copyright(C)2013FreeSoftwareFoundation,Inc.LicenseGPLv3+:GNUGPLversion3orlaterThisisfreesoftware:youarefreetochangeandredistributeit.ThereisNOWARRANTY,totheextentpermittedbylaw.Type"showcopyi
我有一个多线程C++程序,在极少数情况下会死锁。这个问题很难重现,我只能在远程机器上重现。我想用来解决这个问题的方法是运行程序等待死锁向其发送中止信号以生成核心转储将转储复制回我的本地机器使用gdb调试我在远程机器上没有gdb,无法在上面安装任何东西。问题是当我调试核心转储(从远程机器上的死锁或正常运行的进程获得)时,大多数线程的回溯仅显示:(gdb)bt#0pthread_cond_wait()at../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261#10x0000000000000000in??()我正在使用一
我有一个多线程C++程序,在极少数情况下会死锁。这个问题很难重现,我只能在远程机器上重现。我想用来解决这个问题的方法是运行程序等待死锁向其发送中止信号以生成核心转储将转储复制回我的本地机器使用gdb调试我在远程机器上没有gdb,无法在上面安装任何东西。问题是当我调试核心转储(从远程机器上的死锁或正常运行的进程获得)时,大多数线程的回溯仅显示:(gdb)bt#0pthread_cond_wait()at../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261#10x0000000000000000in??()我正在使用一
我正在UbuntuLinux上开发一个项目,当我使用GDB调试应用程序并按CTRL+Z中断时,我按预期得到SIGTSTP和GDB中断。但是当我在那之后使用cont时,我仍然得到SIGTSTP,我重复cont很多次,但接缝只是行为相同,只是反复给我SIGTSTP。以下两个调用栈交替重复:Thecallstackisasfollowingalterativly:ProgramreceivedsignalSIGTSTP,Stopped(user).[SwitchingtoThread0x7fffef73d700(LWP32591)]0x00007ffff636dffdinread()from