问题标签 [dbg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - 是否有可用于 Haskell 或 OCaml 的跟踪调试器,例如 `dbg`?
是否有dbg
适用于 Haskell 或 OCaml 的跟踪调试器?
非常非正式地,它的 printf 样式调试更好,在运行时完全可配置。本质上,用户可以在系统运行时注册一个跟踪处理程序,它将在运行时支持的一组操作中的每个操作上调用(例如,在每个函数调用/返回、每个发送/接收的消息等) . 这样的处理程序可以记录每个操作,这给出了系统(部分)中发生的所有步骤的良好顺序。
这种机制可用于记录/调试、分析系统的某些部分,但在许多情况下只是用于发现新的(程序员不知道的)系统是如何工作的。
erlang - rebar3 构建中的 erlang dbg 模块在哪里?
跑步时rebar3 compile
,那么./_build/default/rel/api/bin/api console
,
然后在 erlang shell 中尝试使用dbg
我得到。
m(dbg).
** exception error: undefined function dbg:module_info/0
in function c:m/1 (c.erl, line 508)
任何线索如何解决?我究竟做错了什么?之后我做的唯一一件事是rebar3 new release api
添加一些基本功能,就是应用一个覆盖,以便 jiffy 正确编译。
(运行erl
我确实有dbg
模块)
有什么建议么?
谢谢!
legoscia 在下面的评论效果很好!只需添加到 relx 配置中rebar.config
。谢谢!
compilation - 如何为@llvm.dbg.declare 定义元数据?
我正在尝试使用 @llvm.dbg.declare 来获取有关 llvm 代码中变量的信息我使用以下代码:
当我使用 llc file.ll 编译时,出现以下错误:
我不明白是 llvm 代码中的元数据定义有问题,还是我应该在编译时指定一些参数?
谢谢你的帮助
debugging - 使用 python-dbg 调试 Cython 失败,符号未定义:Py_InitModule4_64
我正在尝试按照官方 Cython 页面的说明调试一个小型 cython 项目。但命令:
python-dbg setup.py build_ext --inplace
失败并出现以下错误。我在这里看到了对类似问题的回应,但我认为它不适用于我,因为我正在运行通过 apt-get 安装的 Cython。任何帮助将非常感激。
Traceback(最近一次调用最后一次):文件“build.py”,第 4 行,来自 Cython.Build 导入 cythonize
文件“/usr/lib/python2.7/dist-packages/Cython/Build/init .py”,第 1 行,从依赖项导入cythonize
文件“/usr/lib/python2.7/dist-packages/Cython/Build/Dependencies.py”,第 51 行,从 Cython.Compiler.Main 导入 Context、CompilationOptions、default_options
文件“/usr/lib/python2.7/dist-packages/Cython/Compiler/Main.py”,第 17 行,来自扫描导入 PyrexScanner,FileSourceDescriptor ImportError:/usr/lib/python2.7/dist-packages/Cython /Compiler/Scanning.so:未定义符号:Py_InitModule4_64 [35101 refs]
erlang - erlang dbg - 跟踪所有函数对所有函数的调用
从Using trace and dbg in Erlang 开始,我知道可以使用以下命令跟踪所有函数对指定函数的调用
但是,如何跟踪所有函数对所有函数的调用?例如:
c - 在对不同的字符串使用函数后,字符串的值会发生神奇的变化
如此 dbg 调试日志所示,string1 = '0' <repeats 28 times>, "1000"
在 intToBinary(num1, string1) 函数调用之后打印。但随后在下一条指令 intToBinary(num2, string2) 被调用。如您所见,不同的参数被传递给 intToBinary 函数。第二次使用不同的变量调用函数时,变量怎么会string1
受到影响?在日志中,它说第一个字符从 0 变为(或?)。\
\0
如有必要,这是该功能的 pastebin。http://pastebin.com/EsQNMjej
我只是不明白这里发生了什么。我尝试切换两个函数调用的顺序,所以它变成了以下
神奇的是,第一个字节保持不变'0'
,这就是我想要的。但现在我只想知道为什么这首先会改变......
c - 通过输入指针地址欺骗 C 程序
这仅用于学术用途。软件安全课程。老师要我通过输入一些东西来欺骗程序,我猜是一个指针地址,以运行与 f2 或 f3 不同的功能。我可以使用 GDB 查看所有内存地址。我应该输入什么来运行 f1?
感谢您的帮助。
c - 使用 ptrace 检测调试器
我正在尝试在 Linux 上检测是否将调试器附加到我的二进制文件。我找到了两种解决方案。一个更简单的:
还有一个:
第二种方法比第一种更简单的方法更好吗?如果是,为什么?
c++ - 有条件的断点
有没有办法在 QtCreator 中为断点设置更复杂的条件?(dbg) 至少比较 QStrings,但其他复杂类型也会很好。像教程中的整数比较工作正常。
erlang - 使用relx时erlang dbg模块不起作用
我在牛仔示例中修改了 relx.config,添加runtime_tools
{release, {echo_get_example, "1"}, [runtime_tools, echo_get]}.
{extended_start_script, true}.
当我使用 dbg:start() -> dbg:tracer() -> .... 调用 then 函数时没有任何输出。为什么?