Node.js 理解节点引用错误转储
试图通过了解错误转储来更好地了解如何进行调试。例如,我有一个参考错误,如下所示:Node.js 理解节点引用错误转储,node.js,error-handling,runtime-error,Node.js,Error Handling,Runtime Error,试图通过了解错误转储来更好地了解如何进行调试。例如,我有一个参考错误,如下所示: ReferenceError: Can't find variable: title This error is located at: in TimerForm (at ToggleTimerForm.js:44) in RCTView (at View.js:60) in View (at ToggleTimerForm.js:42) in ToggleableTimerFor
ReferenceError: Can't find variable: title
This error is located at:
in TimerForm (at ToggleTimerForm.js:44)
in RCTView (at View.js:60)
in View (at ToggleTimerForm.js:42)
in ToggleableTimerForm (at App.js:54)
in RCTView (at View.js:60)
in View (at ScrollView.js:791)
in RCTScrollView (at ScrollView.js:887)
in ScrollView (at App.js:53)
in RCTView (at View.js:60)
in View (at App.js:47)
in App (at registerRootComponent.js:35)
in RootErrorBoundary (at registerRootComponent.js:34)
in ExpoRootComponent (at renderApplication.js:33)
in RCTView (at View.js:60)
in View (at AppContainer.js:102)
in RCTView (at View.js:60)
in View (at AppContainer.js:122)
in AppContainer (at renderApplication.js:32)
* components/TimerForm.js:54:6 in render
- node_modules/react-proxy/modules/createPrototypeProxy.js:44:35 in proxiedMethod
- node_modules/react-native/Libraries/Renderer/ReactNativeRenderer-dev.js:8811:23 in finishClassComponent
- ... 17 more stack frames from framework internals
本能地,我首先看到的是TimerForm,但随后我看到也列出了ToggleTimerForm.js。“in”是什么意思,“at”是什么意思?还有,为什么列出这么多文件?它们在这个错误转储中的意义是什么
我很想更好地了解这一切是如何运作的 这基本上只是一个,一系列相互调用的函数。通常,您希望查看最新版本中的简单错误,但通常您可能需要在堆栈上再上几层才能理解逻辑
请注意,根据框架的不同,调用堆栈可能以不同的方式显示。在本例中,您看到的是react调用堆栈,而不是vanilla node.js。它是错误堆栈。该错误是在“TimerForm ToogleTimerForm.js”处引发的,该错误正在RCTView View.js中使用,该错误正在View ToggleTimerForm.js中使用。蓝色的名称是在相同或不同的js文件中相互调用的函数名