【发布时间】:2019-07-28 15:31:56
【问题描述】:
假设你有一个简单的命令行 Dart 程序,它调用 debugger() 来设置断点。例如:
main() {
print('hello');
debugger();
print('goodbye');
}
当我运行程序时:
dart main.dart
控制台显示输出直到断点并在控制台中暂停。但是,我没有看到调试器的任何输出,也无法与调试器交互。如何从命令行与调试器交互?
【问题讨论】:
假设你有一个简单的命令行 Dart 程序,它调用 debugger() 来设置断点。例如:
main() {
print('hello');
debugger();
print('goodbye');
}
当我运行程序时:
dart main.dart
控制台显示输出直到断点并在控制台中暂停。但是,我没有看到调试器的任何输出,也无法与调试器交互。如何从命令行与调试器交互?
【问题讨论】:
我不确定是否有用于处理调试的命令行工具,但如果您使用 --observe 运行您的应用程序,例如以下输出:
dart --observe program.dart
Observatory listening on http://127.0.0.1:8181/t8BNcN7MCEo=/
hello
vm-service: isolate (208832671) 'main' has no debugger attached and is paused. Connect to Observatory at http://127.0.0.1:8181/t8BNcN7MCEo=/ to debug.
在 Web 前端,您可以通过单击“在 main (program.dart:7:1) [debug] 处被断点暂停”的链接访问调试器,您可以访问所有常用的调试实用程序,例如一步。
【讨论】:
break、clear、cls 等,但即使它们也无法按预期工作)。
breakpoint(),当我从命令行运行脚本时,它会在到达时停止行,我将可以访问断点之前定义的任何变量。见:docs.python.org/3/library/functions.html#breakpoint