DART是否支持预定义的宏,例如:
mongod --repair
或
__LINE__
询问的原因是变压器DART2JS使控制台日志无效,因为所有日志都显示:js_primitives.dart:30
[更新基础]
使用变压器dart2js时,__FUNCTION__
将导致:
print("hello world");
从函数调用:printString(String string) 居住在图书馆dart2js._js_primitives
这导致console.log消息总是在DART代码中使用JS('void', r'console.log(#)', "hello world);
的任何地方反复包含相同的行号。 (因为console.log会自动将文件名和行号添加到驻留在dart2js._js_primitives中的包装函数的控制台显示中)
由于当前在console.log消息中添加文件名和行号的实现是无用的,如果有另一种方法允许显示其他信息,那将是很好的。
例如,print();
会产生更有用的其他调试信息。
答案 0 :(得分:1)
您可以使用
void main() {
print(StackTrace.current);
}
获取有关错误来源的更好信息
您还可以在自定义区域中运行代码,并为该区域定义自定义打印方法。另请参阅https://api.dartlang.org/stable/1.24.3/dart-async/Zone/print.html
答案 1 :(得分:0)
似乎您要查找的是dart2js创建的源地图,其中包含从javascript位置重新创建原始dart文件中的行号所需的信息。