[Lldb-commits] [PATCH] D151497: [lldb] Improve function caller error message
Alex Langford via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu May 25 14:24:26 PDT 2023
bulbazord requested changes to this revision.
bulbazord added a comment.
This revision now requires changes to proceed.
I think it's good to improve the error messaging but I think we can probably do better. "Function caller" is specific to the internals of LLDB and isn't really meaningful for many users. It's also somewhat confusing from a user's perspective when the expression you're running isn't calling a function. For example:
alex at alangford build % ./bin/lldb ~/tmp/foo
(lldb) target create "/Users/alex/tmp/foo"
Current executable set to '/Users/alex/tmp/foo' (arm64).
(lldb) b main
Breakpoint 1: where = foo`main + 28 at foo.c:6:7, address = 0x0000000100003f68
(lldb) r
Process 44467 launched: '/Users/alex/tmp/foo' (arm64)
Process 44467 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x0000000100003f68 foo`main at foo.c:6:7
1 #include <stdio.h>
2
3 int g_foo = 5;
4
5 int main() {
-> 6 int val = 7;
7 printf("Hello World!: %d\n", val);
8 return 0;
9 }
(lldb) c
Process 44467 resuming
Hello World!: 7
Process 44467 exited with status = 0 (0x00000000)
(lldb) p val
error: Can't make a function caller while the process is running
If I were an end user who didn't know much about LLDB, I would think "I'm trying to print a variable, what's this about a function?" and "Why is memory allocation involved?". I would suggest changing the error message to something like: "Unable to evaluate expression while the process is $STATE: the process must be running and stopped to evaluate this expression".
What do you think?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D151497/new/
https://reviews.llvm.org/D151497
More information about the lldb-commits
mailing list