codecamp

IntelliJ IDEA运行和调试Dart命令行应用程序

运行和调试Dart命令行应用程序

使用IntelliJ IDEA,您可以运行和调试Dart命令行应用程序。IntelliJ IDEA支持两种调试模式:

  • 本地调试:在此模式下,您的应用程序从IntelliJ IDEA启动,并在您的计算机上本地运行。要运行或调试它,请使用Dart Command Line App配置。
  • 调试远程应用程序:在此模式下,您的应用程序正在远程环境中运行,例如在Docker容器中。要调试它,请使用Dart Remote Debug配置。

运行Dart命令行应用程序

  1. 打开Dart文件以启动应用程序或在项目工具窗口中选择它。该文件必须包含一个main()方法。
  2. 在选择的上下文菜单上,选择Run '<dart_file_name>'。IntelliJ IDEA生成类型为Dart Command Line App的运行/调试配置, 并启动您的应用程序。

在本地调试Dart命令行应用程序

  1. 在Dart代码中配置和设置断点。
  2. 打开Dart文件以启动应用程序或在“项目工具窗口(Project Tool Window)”中选择它 。该文件必须包含一个main()方法。
  3. 在选择的上下文菜单上,选择Debug'<dart_file_name>'。IntelliJ IDEA生成类型为Dart Command Line App的运行/调试配置,并启动调试会话。
  4. 在打开的“调试工具窗口(Debug Tool Window)”中,逐步执行程序, 停止并恢复程序执行,在暂停时检查它等。

调试远程Dart命令行应用程序

如果您的应用程序在远程环境中运行(例如,在Docker容器中),则可以使用Dart Remote Debug配置对其进行调试。

创建Dart远程调试运行/调试配置

  1. 在主菜单上,选择:运行| 编辑配置(Run | Edit Configurations),单击并从列表中选择“Dart远程调试(Dart Remote Debug)”。将打开该“运行/调试配置:Dart远程调试(Run/Debug Configuration: Dart Remote Debug)”。
  2. 在主机(Host)字段中,指定运行Dart虚拟机的计算机的地址,默认值为localhost。
  3. 指定调试器将连接到远程应用程序的端口,默认值为5858。指定端口显示在“启动远程VM时使用命令行参数(Use the command line arguments when starting the remote VM)”只读字段。请注意,远程应用程序必须使用这些参数完全启动。
  4. 如果您的IntelliJ IDEA项目包含多个配置为内容根的Dart项目,请从搜索源下拉列表中选择Dart项目进行调试 。

启动远程调试会话

  1. 例如, 使用Dart Remote Debug运行配置中的远程Dart VM字段的命令行参数中的VM选项启动远程Dart应用程序,例如,--enable-vm-service:5858 --pause_isolates_on_start--pause_isolates_on_start。应用程序启动后,立即因--pause_isolates_on_start参数而暂停,并等待调试器连接。
  2. 在“选择运行/调试配置(Select run/debug configuration)”下拉列表中选择新创建的Dart远程调试配置,然后单击
  3. 在打开的“调试工具窗口(Debug Tool Window)”中,逐步执行程序,停止并恢复程序执行,在暂停时检查它等。
IntelliJ IDEA使用Pub
IntelliJ IDEA运行和调试Dart Web应用程序
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }