mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 14:21:25 +02:00
MINOR: debug: dump the whole trace if we can't spot the starting point
Instead of special-casing the use of the symbol resolving to decide whether to dump a partial or complete trace, let's simply start over and dump everything when we reach the end after having found nothing. It will be more robust against dirty traces as well.
This commit is contained in:
parent
899e5f69a1
commit
a91b7946bd
13
src/debug.c
13
src/debug.c
@ -108,14 +108,15 @@ void ha_thread_dump(struct buffer *buf, int thr, int calling_tid)
|
||||
if (nptrs)
|
||||
chunk_appendf(buf, " call trace(%d):\n", nptrs);
|
||||
|
||||
#ifndef USE_DL
|
||||
/* if we can't rely on dladdr1() we won't figure what level is
|
||||
* in ha_panic() or ha_thread_dump_all_to_trash(), so we want
|
||||
* to immediately start the dump.
|
||||
for (j = 0; j < nptrs || dump < 2; j++) {
|
||||
if (j == nptrs && !dump) {
|
||||
/* we failed to spot the starting point of the
|
||||
* dump, let's start over dumping everything we
|
||||
* have.
|
||||
*/
|
||||
dump = 2;
|
||||
#endif
|
||||
for (j = 0; j < nptrs; j++) {
|
||||
j = 0;
|
||||
}
|
||||
bak = *buf;
|
||||
dump_addr_and_bytes(buf, " | ", callers[j], 8);
|
||||
addr = resolve_sym_name(buf, ": ", callers[j]);
|
||||
|
Loading…
x
Reference in New Issue
Block a user