热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Elixir中的调试和调试工具?

如何解决《Elixir中的调试和调试工具?》经验,为你挑选了3个好方法。

我刚开始使用Elixir,并开始了一个凤凰项目,我非常喜欢.现在有了rails后台,我习惯于被调试工具所破坏,比如"debugger","byebug"等等; 我想知道Elixir是否有类似的工具?你们是如何调试Elixir应用程序的?

甚至相当于Rubys raise my_object.inspect,也会有奇迹!

谢谢



1> Paweł Obrok..:

您可以使用 IEx

require IEx

value = {:some, :erlang, :value}
IEx.pry

如果您启动此程序(例如iex -s program.exs,iex -S mix对于某个项目),系统会询问您是否允许在到达此代码时对其value进行检查,并且可供您检查.

您也可以使用IO.inspect允许您输出基本上任何erlang数据结构来进行打印调试.


值得一提的是IO.inspect返回给定的参数.所以,如果你有一个像`foo(bar,baz)`的代码,你可以直接添加`foo(IO.inspect(bar),baz)`并且一切都会表现得一样.
对于你想要使用`iex.bat --werl -S mix phoenix.server`的windows

2> MartinElvar..:

调试牛仔应用程序和Phoenix应用程序.

我在Elixir rader http://www.jessetrimble.net/iex-pry-elixir中看到了这篇文章,我想我会在这里总结一下,因为它非常方便:-).

在Rails应用程序(和其他)中,您可以简单地在控制器中放入调试器标签,并且当路径被触发时,它将在调试器标签处中断.

在凤凰城使用撬时,上面会导致

Cannot pry #PID<0.259.0> at web/controllers/posts_controller.ex:8. Is an IEx shell running?

事实证明,Phoenix进程必须在IEx会话中运行,这样做

iex -S mix phoenix.server

相反,你会看到

Request to pry #PID<0.266.0> at web/controllers/posts_controller.ex:9. Allow? [Yn]


我是Elixir和Phoenix的新手,所以这可能是一个转储问题.理解用pry我可以检查变量和(进入iex)我可以进行函数调用.但这只是调试器功能的一半:我如何遵循程序的执行流程?还有另一种工具可以让我前进到下一行并进入功能吗?Ruby的byebug具有两种功能.

3> Julien Liroc..:

您可以使用 https://github.com/qhool/quaff中的Quaff.Debug模块

Debug模块提供了一个简单的辅助接口,用于在erlang图形化调试器中运行Elixir代码

我今天用Elixir 1.0.4测试了它,它的工作原理.


推荐阅读
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 在 CentOS 7 上部署和配置 RabbitMQ 消息队列系统时,首先需要安装 Erlang,因为 RabbitMQ 是基于 Erlang 语言开发的。具体步骤包括:安装必要的依赖项,下载 Erlang 源码包(可能需要一些时间,请耐心等待),解压源码包,解决可能出现的错误,验证安装是否成功,并将 Erlang 添加到环境变量中。接下来,下载 RabbitMQ 的 tar.xz 压缩包,并进行解压和安装。确保每一步都按顺序执行,以保证系统的稳定性和可靠性。 ... [详细]
  • 本文详细介绍了如何在 Django 项目中使用 Admin 管理后台,包括创建超级用户、启动项目、管理数据模型和修改用户密码等步骤。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 在Delphi7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下:1234 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 综合实训 201521440015
    Chinesepeople’publicsecurityuniversity网络对抗技术实验报告实验五综合渗透学生姓名常泽远年级15区队4指导教师高见信息技术与网络安全学院2018 ... [详细]
  • Windows下安装RaibbitMQ
    1.软件准备1.1erlang语言包到http:www.erlang.orgdownload.html下载,并且运行!安装目录C:\ProgramFil ... [详细]
  • 在将Web服务器和MySQL服务器分离的情况下,是否需要在Web服务器上安装MySQL?如果安装了MySQL,如何解决PHP连接MySQL服务器时出现的连接失败问题? ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 本文总结了一些开发中常见的问题及其解决方案,包括特性过滤器的使用、NuGet程序集版本冲突、线程存储、溢出检查、ThreadPool的最大线程数设置、Redis使用中的问题以及Task.Result和Task.GetAwaiter().GetResult()的区别。 ... [详细]
  • 利用Python与Android进行高效移动应用开发
    通过结合Python和Android,可以实现高效的移动应用开发。首先,需要安装Scripting Layer for Android (SL4A),这是一个开源项目,旨在为Android系统提供脚本语言支持。SL4A不仅简化了开发流程,还允许开发者使用Python等高级语言编写脚本,从而提高开发效率和代码可维护性。此外,SL4A还支持多种其他脚本语言,进一步扩展了其应用范围。通过这种方式,开发者可以快速构建功能丰富的移动应用,同时保持较高的灵活性和可扩展性。 ... [详细]
author-avatar
ZhuJiongJiongnu_441
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有