标签: ddd-debugger

GDB:如何列出用于编译的所有源文件

项目的新手,有多个源文件用于编译,一些"可能"是动态库,在运行时加载.使用"GDB"调试可执行文件时,是否有命令列出用于构建可执行文件的所有源文件(静态).一旦我拥有所有的源文件,我就很容易设置断点,列出函数等.我找不到在GDB中执行它的命令(我确定应该有一个).在DDD(基于gui的gdb)中,有一个Menu:File-> List,它列出了所有使用的源文件和用于构建可执行文件的静态库.不幸的是,对于基于命令行的调试器(GDB),我找不到等效的命令.

debugging gdb ddd-debugger

37
推荐指数
1
解决办法
2万
查看次数

什么是DDD(数据显示调试器)的优秀unix替代品?

我正在使用vim在linux上开发c并使用ddd进行调试.但是我发现ddd在这台机器上滚动时性能很差,所以它的使用有时非常令人沮丧.

我喜欢ddd与gdb命令集非常接近的方式,因为这意味着当我选择时我可以自由地使用gdb命令,但是使用gdb本身不是一个选项,因为它不能很好地显示源代码.

任何人都可以建议一个像ddd的体面替代品?我不是在寻找一个IDE,只是一个相当好的gui外观gdb是自由软件.

c linux debugging gdb ddd-debugger

34
推荐指数
4
解决办法
2万
查看次数

ddd在开始时挂起

之前已经问过问题,我看到ddd新闻组的错误报告,但没有一个建议的解决方案适合我.

它出现了,但当你尝试做一些事情,比如打开一个文件时,它会挂起"等待GDB准备好"的消息.

其他人报告的一个关键事实是,它对某些用户而不是其他用户都有效.我对环境进行了比较,但未发现任何显着差异.任何建议将非常感谢.

gdb ddd-debugger

21
推荐指数
4
解决办法
1万
查看次数

Windows版本的GDB前端DDD

是否可以在某处下载本地(非cygwin)版本的DDD

windows user-interface gdb ddd-debugger

19
推荐指数
2
解决办法
4万
查看次数

调试由boost一起公开的Python和C++

我可以使用调试Python代码ddd -pydb prog.py.所有python命令行参数也可以在之后传递prog.py.在我的例子中,许多类已经在C++中实现,并且使用了python boost-python.我希望我可以一起调试python代码和C++.例如,我想设置这样的断点:

break my_python.py:123
break my_cpp.cpp:456
cont
Run Code Online (Sandbox Code Playgroud)

当然我在用调试选项编译c ++代码后尝试它,但调试器不会跨越boost边界.有什么办法吗?

编辑:我看到http://www.boost.org/doc/libs/1_61_0/libs/python/doc/html/faq/how_do_i_debug_my_python_extensi.html.我跟着它,我可以为python和C++进行调试.但我最好还是想进行可视化调试,DDD但我不知道怎么在里面给'target exec python'命令DDD.如果不是(只是gdb在链接中使用)我应该能够调试Python脚本,而不是交互式地给出链接中的python命令.

c++ python debugging boost ddd-debugger

18
推荐指数
1
解决办法
2479
查看次数

使用gnu DDD进行远程调试

题:

  • 目标位于远程主机上时,是否可以进行调试

例:

 # ddd --debugger /usr/bin/bashdb <sript-name> (on remote host)
Run Code Online (Sandbox Code Playgroud)

linux debugging ddd-debugger

11
推荐指数
1
解决办法
9031
查看次数

如何在DDD(或gdb)中使用unique_ptr调试C++ 11代码?

std::unique_ptr很好,但我发现在DDDgdb中调试时不太舒服.

我正在使用作为gcc一部分的gdb漂亮打印机(例如/usr/share/gcc-4.8.2/python/libstdcxx/v6/printers.py).这是可读性的一大胜利,例如:

$ print pTest
std::unique_ptr<MyType> containing 0x2cef0a0
Run Code Online (Sandbox Code Playgroud)

但是,取消引用指针不起作用:

$ print *pTest
Could not find operator*.
Run Code Online (Sandbox Code Playgroud)

当我需要访问该值时,我必须手动复制指针并将其强制转换为正确的类型,例如:

print *((MyType*) 0x2cef0a0)
Run Code Online (Sandbox Code Playgroud)

如果进程仍在运行,那么这个版本可以工作(仍然很难但更好):

print *pTest.get() // will not work if analyzing a core dump
Run Code Online (Sandbox Code Playgroud)

Display *pTest在DDD中直接的方法也不起作用.它只会导致以下错误:

<error: Could not find operator*.>
Run Code Online (Sandbox Code Playgroud)

有没有办法在DDD中使用unique_ptr调试C++ 11代码(不像我使用繁琐的解决方法那样打破工作流程)?


我不怕使用gdb命令,但DDD集成将是一个加号.例如,通过双击它们来跟踪数据结构中的指针通常比键入更快.

我已经尝试放弃漂亮的打印机,但它也不是最佳选择.我能想到的最好的是以下内容:

 print pTest._M_t->_M_head_impl
Run Code Online (Sandbox Code Playgroud)

c++ gdb unique-ptr ddd-debugger c++11

11
推荐指数
1
解决办法
6090
查看次数

如何使用 cygdb 调试 cython?

如果按照Cython 调试文档中指定的那样使用 python2.7 配置它,则在从源代码构建 gdb 后,可以使用 gdb 调试 Python3/Cython 项目。

但是,文档中的示例:

  1. 有时是模糊的(例如,代码应该使用 python3 构建,调试器使用 python2 运行,但我发现python-gdb实际上链接到python2......那么它是如何工作的?)
  2. 不完整(代码块中涵盖了一些步骤,文本中模糊地提到了其他步骤)
  3. 不一致(例如同时引用source.pyxmyfile.pyx

此外,它:

  1. 没有考虑虚拟环境的使用
  2. 似乎假设该main函数驻留在 .pyx 中(但我的函数驻留在常规main.py
  3. 不指定当您的文件位于不同目录中时要执行的操作(例如像 mymain.pycythonCode.pyxdo )

有人可以解释一下(最好有工作示例)如何在涉及刚才提到的所有 3 点的情况下调试 Python3/Cython 项目吗?

目前看来我实际上可以按照这篇Cython wiki 文章让 DDD 工作,但后来我发现这是“旧”的做法,它指的是我也链接到的当前调试文档。然而,目前我还不清楚“新”方法如何发挥作用(旧方法对我来说更有意义),而且让它发挥作用似乎更复杂。

python debugging gdb cython ddd-debugger

11
推荐指数
0
解决办法
963
查看次数

如何跳过ddd(gdb)中的循环

在使用DDD的许多(有时是淹没)调试会话期间,我偶然发现了循环.然后我一直按下它以通过它,如果有很多次迭代,我只需在它之后设置一个断点,然后按"继续".有没有其他方法可以通过循环?

c c++ gdb ddd-debugger

10
推荐指数
1
解决办法
5271
查看次数

在Mac OS X 10.7.5上运行ddd

我尝试使用以下命令安装并运行ddd:

brew install libtool
brew link lesstif
brew install ddd
Run Code Online (Sandbox Code Playgroud)

并尝试运行ddd时收到以下错误消息:

cd@new-host:~$ ddd
dyld: Library not loaded: /opt/X11/lib/libSM.6.dylib
Referenced from: /usr/local/lib/libXm.2.dylib
Reason: image not found
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)

以下是brew配置的输出:

HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: 7a427a6528c0aa123a43d3adf1c5944ab622c27e
Last commit: 2 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: dual-core 64-bit penryn
OS X: 10.7.5-i386
Xcode: 4.6.3
CLT: 4.6.0.0.1.1365549073
LLVM-GCC: build 2336
Clang: 4.2 build 425
X11: 2.6.5 => /usr/X11
System Ruby: 1.8.7-358
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
Run Code Online (Sandbox Code Playgroud)

以下是我从Brew医生的输出:

Warning: Some …
Run Code Online (Sandbox Code Playgroud)

macos homebrew ddd-debugger

9
推荐指数
1
解决办法
7419
查看次数

标签 统计

ddd-debugger ×10

gdb ×7

debugging ×5

c++ ×3

c ×2

linux ×2

python ×2

boost ×1

c++11 ×1

cython ×1

homebrew ×1

macos ×1

unique-ptr ×1

user-interface ×1

windows ×1