parent
c0354799c7
commit
fac4d08fd0
@ -209,7 +209,7 @@ namespace cpptrace {
|
||||
const auto blue = color ? BLUE : "";
|
||||
if(frame.is_inline) {
|
||||
microfmt::print(stream, "{<{}} ", 2 * sizeof(frame_ptr) + 2, "(inlined)");
|
||||
} else {
|
||||
} else if(options.addresses != address_mode::none) {
|
||||
auto address = options.addresses == address_mode::raw ? frame.raw_address : frame.object_address;
|
||||
microfmt::print(stream, "{}0x{>{}:0h}{} ", blue, 2 * sizeof(frame_ptr), address, reset);
|
||||
}
|
||||
@ -219,7 +219,8 @@ namespace cpptrace {
|
||||
if(!frame.filename.empty()) {
|
||||
microfmt::print(
|
||||
stream,
|
||||
" at {}{}{}",
|
||||
"{}at {}{}{}",
|
||||
frame.symbol.empty() ? "" : " ",
|
||||
green,
|
||||
options.paths == path_mode::full ? frame.filename : detail::basename(frame.filename, true),
|
||||
reset
|
||||
|
||||
@ -96,6 +96,21 @@ TEST(FormatterTest, ObjectAddresses) {
|
||||
);
|
||||
}
|
||||
|
||||
TEST(FormatterTest, NoAddresses) {
|
||||
auto formatter = cpptrace::formatter{}
|
||||
.addresses(cpptrace::formatter::address_mode::none);
|
||||
auto res = split(formatter.format(make_test_stacktrace()), "\n");
|
||||
EXPECT_THAT(
|
||||
res,
|
||||
ElementsAre(
|
||||
"Stack trace (most recent call first):",
|
||||
"#0 in foo() at foo.cpp:20:30",
|
||||
"#1 in bar() at bar.cpp:30:40",
|
||||
"#2 in main at foo.cpp:40:25"
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
TEST(FormatterTest, PathShortening) {
|
||||
cpptrace::stacktrace trace;
|
||||
trace.frames.push_back({0x1, 0x1001, {20}, {30}, "/home/foo/foo.cpp", "foo()", false});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user