This is likely the cause of the crashes related to expanding the scope of the variables. In other cases, an injected JS snippet could cause a hard crash because Hermes throws an exception without it being appropriately caught. Upon investigating this deeper, we found an issue in the Hermes and the versioned React Native layers from Expo Go. Expanding the scope variables, for example, uses Runtime.callFunctionOn in vscode, but Chrome Devtools uses pileScript and Runtime.evaluate. Unfortunately, the CDP spec has more injection methods, and each CDP client has separate injection scripts. I wrote a patch for the that prevents this snippet from being injected and should prevent crashing when hitting breakpoints. The "crash on breakpoint" is caused by a JS snippet injected by vscode to fetch information about certain variables and objects. by expanding the scope of the variables, or sometimes it crashes on a single breakpoint. You mentioned that there are multiple cases where the vscode debugger could crash the app, e.g. (eg: updated a module Sorry, I was in the middle of a rabbit hole there and might not have been clear. This diff will work correctly for `npx expo prebuild` & EAS Build Conforms with the [Documentation Writing Style Documentation is up to date to reflect these changes (eg: Open up App.js to start working on your app! Touch the text, this causes a hard-crash without this PR. Add a breakpoint in vscode on line `7` (`return hello `) Connect vscode debugger through the "Debug Expo app. Update `App.js` using the snippet below these steps (full native implementation of the CDP server) Hermes should never crash on any CDP message, but work is in progress Luckily, this is only used to findĪdditional info about the callstack, and can be "prevented" without `functionDeclaration` described in the added test. The issue is that vscode sends `Runtime.callFunctionOn` with the
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |