【原创】Erlang 之 debugger 调试简介
调试 简介 原创 erlang debugger
2023-09-14 08:59:46 时间
Erlang 提供了一种图形化的源码级别调试器 -- debugger。在一些情况下,可以用于对代码进行单步跟踪调试。下面举例说明如何使用这个工具。
首先需要明确的是,若想要在调试器中启用某个模块,必须先让调试器 解释 该模块。调试器同时需要 .erl 源文件(用于显示源码)和 .beam 字节码文件(需要带有调试信息)。
编译带调试信息的 .beam 文件,要求在编译 .erl 文件时使用 +debug_info 标志。例如
?
以一个之前学习 mochiweb 使用的 demo 为例。源码位置如下
启动 erl,切换工作路径。
启动 debugger 调试器,此时会弹出 Monitor 窗口。
选择需要调试的 .erl 文件(Module- Interpret),在需要调试的代码位置双击设置断点。
按照 .app 文件中的依赖关系启动相应的应用。
成功启动后,会停在你之前设置的断点处(如果设置的断点位于应用启动时的执行路径上)。此时,可以通过 Step、Next、Continue 和 Finish 按钮进行调试。
若想跟踪进入其他 module 的代码,则需要和上面一样,通过 Module- Interpret 添加相应的 .erl 文件。例如,在添加 mochiweb_example_sup.erl 文件后,点击 Continue 则可以执行到下一个断点处(需要事先在该模块中设置好断点)。
采用类似的方法就可以调试 erlang 的代码了。
注:在按需启动依赖的相应应用时,若提示 already_started 则可以按如下方式停止
?
七款Debug工具推荐:iOS开发必备的调试利器 在开发应用的时候,我们会碰到各种各样的bug,我们想要更好地了解到底发生了什么。然而不可预期的调试工作,总会浪费我们大量时间。本文介绍了七款诊断调试工具,可以从可以帮助我们对代码、UI界面等进行调试
开启Golang编程第一章 Go is an open source programming language that makes it easy to build simple,reliable, and effcient software. Try Go package main import fmt func main() { fmt.Println( Hello, 世界 ) https://tour.golang.org/welcome/1 体会:和C/C++、C#、java类似的语言,好基友推荐学习的语言,emmm第一步还是蛮简单的。
首先需要明确的是,若想要在调试器中启用某个模块,必须先让调试器 解释 该模块。调试器同时需要 .erl 源文件(用于显示源码)和 .beam 字节码文件(需要带有调试信息)。
编译带调试信息的 .beam 文件,要求在编译 .erl 文件时使用 +debug_info 标志。例如
?
以一个之前学习 mochiweb 使用的 demo 为例。源码位置如下
![](http://static.oschina.net/uploads/space/2014/0513/192155_Xy6m_617889.png)
启动 erl,切换工作路径。
![](http://static.oschina.net/uploads/space/2014/0513/192549_gCu3_617889.png)
启动 debugger 调试器,此时会弹出 Monitor 窗口。
![](http://static.oschina.net/uploads/space/2014/0513/193038_ayFC_617889.png)
选择需要调试的 .erl 文件(Module- Interpret),在需要调试的代码位置双击设置断点。
![](http://static.oschina.net/uploads/space/2014/0513/193145_gVlE_617889.png)
![](http://static.oschina.net/uploads/space/2014/0513/193247_pbdG_617889.png)
按照 .app 文件中的依赖关系启动相应的应用。
![](http://static.oschina.net/uploads/space/2014/0513/193547_bgg3_617889.png)
成功启动后,会停在你之前设置的断点处(如果设置的断点位于应用启动时的执行路径上)。此时,可以通过 Step、Next、Continue 和 Finish 按钮进行调试。
![](http://static.oschina.net/uploads/space/2014/0513/193806_gNlZ_617889.png)
若想跟踪进入其他 module 的代码,则需要和上面一样,通过 Module- Interpret 添加相应的 .erl 文件。例如,在添加 mochiweb_example_sup.erl 文件后,点击 Continue 则可以执行到下一个断点处(需要事先在该模块中设置好断点)。
![](http://static.oschina.net/uploads/space/2014/0513/193936_WyTH_617889.png)
![](http://static.oschina.net/uploads/space/2014/0513/194220_A8kF_617889.png)
采用类似的方法就可以调试 erlang 的代码了。
注:在按需启动依赖的相应应用时,若提示 already_started 则可以按如下方式停止
?
七款Debug工具推荐:iOS开发必备的调试利器 在开发应用的时候,我们会碰到各种各样的bug,我们想要更好地了解到底发生了什么。然而不可预期的调试工作,总会浪费我们大量时间。本文介绍了七款诊断调试工具,可以从可以帮助我们对代码、UI界面等进行调试
开启Golang编程第一章 Go is an open source programming language that makes it easy to build simple,reliable, and effcient software. Try Go package main import fmt func main() { fmt.Println( Hello, 世界 ) https://tour.golang.org/welcome/1 体会:和C/C++、C#、java类似的语言,好基友推荐学习的语言,emmm第一步还是蛮简单的。
相关文章
- python断点调试2021.7.7
- VSCode配置调试编译java环境,史上最全!!!
- VSCODE 配置远程调试环境
- 玩转 Chrome DevTools,定制自己的调试工具
- 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 获取 tombstone_0X 崩溃日志信息 )
- 网页调试:myeclipse修改javascript代码后,执行没有变化呀详解编程语言
- SAP SE16N手工调试修改表数据详解编程语言
- 使用JLink在Linux上进行硬件调试(linuxjlink)
- 调试指令cmd无法登录mysql(cmd登录不上mysql)
- PHP性能优化工具篇Benchmark类调试执行时间
- 浅谈javascript的调试