Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get backtrace information from exception in googletest?

I'm trying to do some semi test driven design, and occasionally when I implement a new feature, it will have an exception somewhere. All gtest tells me is what the exception is, and does not give me any backtrace information.

If I run gdb --args --gtest_catch_exceptions=0, it will stop at the test with the exception but not have any backtrace information. It simply states:

[ RUN      ] TESTNAME.test_case
EXCEPTION: exception description[Inferior 1 (process 30528) exited with code 0377]
(gdb) bt
No stack.
like image 806
eengineer Avatar asked Dec 20 '22 10:12

eengineer


1 Answers

Use catch throw gdb command to set special breakpoint before your exception is thrown. When it is hit you can see backtrace as usual by command bt. See https://sourceware.org/gdb/onlinedocs/gdb/Set-Catchpoints.html.

like image 191
ks1322 Avatar answered Jan 25 '23 23:01

ks1322