From e476124d6b9613413ef52b9a3fd69a4a90546992 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Wed, 1 May 2024 17:16:08 -1000 Subject: [PATCH] ;doc: DEVFAQ: updates --- doc/DEVFAQ.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/DEVFAQ.md b/doc/DEVFAQ.md index 807cff2d6..50a8be5be 100644 --- a/doc/DEVFAQ.md +++ b/doc/DEVFAQ.md @@ -79,9 +79,11 @@ Starting ghc-debug on socket: ... Now in another window, you can run [ghc-debug-brick](https://hackage.haskell.org/package/ghc-debug-brick) and it will show the hledger process (until it ends). Press enter to connect. This is not robust. Tips: - you might need to clear out stale sockets: `rm -f ~/.local/share/ghc-debug/debuggee/sockets/*` - you might need to kill stale hledger processes: `pkill -fl hledger` -- it might still fail with this error, reasons unclear:\ - `rts_resume: called from a different OS thread than rts_pause` -- if it connects and the program is running, press `p` to pause it +- with --debug=-2 or -3 it might fail with this error, reasons unclear:\ + `rts_resume: called from a different OS thread than rts_pause`.\ + To work around, use --debug=-1. + (This works best with hledger-ui or hledger-web; with hledger, you'll need to give it a big enough data file so that you can connect and pause it before it finishes.) +- once connected, if the program is running, press `p` to pause it At this point, you can explore memory/profile information, save snapshots, resume execution, etc.