Skip to content

Commit 8dc06b0

Browse files
authored
Merge pull request #269 from microblink/master
Support printing stack trace in chronological order in addition to the default of reverse chronological order.
2 parents f30744b + f361102 commit 8dc06b0

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
build*/
22
*.pyc
3+
*.sw?

backward.hpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3991,10 +3991,12 @@ class Printer {
39913991
bool object;
39923992
int inliner_context_size;
39933993
int trace_context_size;
3994+
bool reverse;
39943995

39953996
Printer()
39963997
: snippet(true), color_mode(ColorMode::automatic), address(false),
3997-
object(false), inliner_context_size(5), trace_context_size(7) {}
3998+
object(false), inliner_context_size(5), trace_context_size(7),
3999+
reverse(true) {}
39984000

39994001
template <typename ST> FILE *print(ST &st, FILE *fp = stderr) {
40004002
cfile_streambuf obuf(fp);
@@ -4041,8 +4043,14 @@ class Printer {
40414043
void print_stacktrace(ST &st, std::ostream &os, Colorize &colorize) {
40424044
print_header(os, st.thread_id());
40434045
_resolver.load_stacktrace(st);
4044-
for (size_t trace_idx = st.size(); trace_idx > 0; --trace_idx) {
4045-
print_trace(os, _resolver.resolve(st[trace_idx - 1]), colorize);
4046+
if ( reverse ) {
4047+
for (size_t trace_idx = st.size(); trace_idx > 0; --trace_idx) {
4048+
print_trace(os, _resolver.resolve(st[trace_idx - 1]), colorize);
4049+
}
4050+
} else {
4051+
for (size_t trace_idx = 0; trace_idx < st.size(); ++trace_idx) {
4052+
print_trace(os, _resolver.resolve(st[trace_idx]), colorize);
4053+
}
40464054
}
40474055
}
40484056

0 commit comments

Comments
 (0)