我将gcc编译器下载到我的linux环境中,并使用ssh进入vscode,在我的windows机器上模拟linux环境。我创建的编译文件和我的教授给我的makefile运行得很好,但是每当我使用我的教授还提供的gdb调试器进行调试时,调试器挂起,不允许我使用断点单步执行代码。我提供了调试器的代码以及cpp属性和任务文件。 调试器代码: {
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For
当我在Linux中运行Eclipse CDT调试器时,我在GDB控制台中看到以下错误:
The target endianness is set automatically (currently little endian)
Traceback (most recent call last):
File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
from libstdcxx.v6.printers
我试图在64位Ubuntu系统上调试32位可执行文件.它本身在命令行中运行良好,但是当我尝试使用gdb时,它挂在ld-linux.so.2中。此外,gdb适用于可执行文件的64位版本。有人知道我该试试什么吗?
我刚刚将一台机器重新映射到Ubuntu18.04.3,并安装了gcc和g++的多库版本。
提前谢谢。
gdb <executable>
GNU gdb ...
This GDB was configured as "x86_64-linux-gnu"
...
Reading symbols from <executable>...done.
(gd
谁可以指导如何使用GDB调试器在Linux上调试JNI代码(如果可能,请建议其他选项)。
-My JNI project when running on Linux is leading to a JVM crash.
-The CPP code has been compiled into .so files.
-I run the project like this : *java xyz.jar -commandline_args_to_project*.
我已经安装了Gdb,但我不知道如何使用它来调试项目。另外,我是否有必要使用-g选项t调试.so文件来编译.
我正在执行一项使用共享内存的任务,每当我运行代码时,我都会得到分段错误。因此,我尝试使用GDB调试器来查看故障发生的位置,但是当它运行代码时,它通常会退出,并表示它很好。我把下面终端里的东西粘上了
./main
This is the cb 16669520, This is the dbInfo 2117869600, and this is the db 2117869608
this is the number of processes 1
Segmentation fault (core dumped)
它打印出来的前两行很好,但是代码永远不会到达主行的末尾。当我运行调试器时,THen
在RedHat Linux上构建了一个共享对象,虽然所有代码都是使用debug编译的,但调试器(gdb)拒绝加载符号并发出错误,如下所示:
...
GNU gdb Fedora (6.8-37.el5)
...
This GDB was configured as "x86_64-redhat-linux-gnu"...
Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module libgrokf.so]
有了这个错误,我无法在任何函数中触发断点,也看不到正确的堆
我尝试运行gdb来反汇编内核,并尝试运行:
root@debian:/home/jestinjoy# gdb /usr/src/linux-2.6.38.8/vmlinux
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and re
我试图通过AM3517评估板上的JTAG加载和引导linux内核。我的调试器是BDI3000。我不使用openocd,因为根据调试器的文档,它不是必需的。到目前为止,我认为我能够将vmlinux映像加载到内存中,但是一旦完成,"cont“gdb命令就不会引导linux。我在串行控制台上没有收到任何消息。
我正在遵循这个链接中给出的指示
试图获取链接中提到的log_buffer地址将给出以下输出
(gdb) p (char*) &__log_buf[log_start]
$1 = 0xc04cd460 <Address 0xc04cd460 out of bounds>
我使用-O0 -g3选项使用GCC编译了所有源文件,然后在GDB中运行了相应的二进制文件。在接收到SIGABRT之后,我执行了回溯。
以下是GDB中运行的“崩溃”输出:
terminate called recursively
terminate called recursively
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check
terminate called recursively
Program received s
我试图在我的C程序上运行gdb,但是我的调试器在我的终端上显示了这一点:
> (gdb) file main
Reading symbols from main...done.
> (gdb) run
Starting program: /home/userA/Desktop/test/part4_sent/main
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
T