Files
clang-p2996/lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArguments.test
Michael Buch 8b91b44a3b [lldb][Format] Introduce new frame-format variables for function parts (#131836)
Adds new frame-format variables and implements them in the CPlusPlusLanguage plugin.

We use the `DemangledNameInfo` type to retrieve the necessary part of the demangled name.

https://github.com/llvm/llvm-project/pull/131836
2025-04-25 10:04:27 +01:00

43 lines
875 B
Plaintext

# Test the ${function.formatted-arguments} frame-format variable.
# RUN: split-file %s %t
# RUN: %build %t/main.cpp -o %t.out
# RUN: %lldb -x -b -s %t/commands.input %t.out -o exit 2>&1 \
# RUN: | FileCheck %s
#--- main.cpp
struct Foo {
void func() {}
};
void bar() {
Foo{}.func();
}
void foo(int, int x) {
bar();
}
void myFunc(char const * str,
void (*fptr)(int, int)) {
fptr(5, 10);
}
int main(int argc, char const *argv[]) {
myFunc("hello", &foo);
return 0;
}
#--- commands.input
settings set -f frame-format "custom-frame '${function.formatted-arguments}'\n"
break set -n func
run
bt
# CHECK: custom-frame '(this={{.*}})'
# CHECK: custom-frame '()'
# CHECK: custom-frame '((null)=5, x=10)'
# CHECK: custom-frame '(str="hello", fptr=({{.*}}.out`foo(int, int) at main.cpp:{{[0-9]+}}))'
# CHECK: custom-frame '(argc=1, argv={{.*}})'