[debugallocation] grab entire stack trace of deletion
We used GetCallerStackTrace thingy before, but it is not entirely reliable in it's detection of malloc stack frames (i.e. on OSX). So lets do full thing instead. Those stacktraces are to be printed to users anyways.
This commit is contained in:
parent
28c2853cba
commit
0aa7254ac9
|
@ -202,13 +202,10 @@ struct MallocBlockQueueEntry {
|
|||
num_deleter_pcs(0) {}
|
||||
MallocBlockQueueEntry(MallocBlock* b, size_t s) : block(b), size(s) {
|
||||
if (FLAGS_max_free_queue_size != 0 && b != nullptr) {
|
||||
// Adjust the number of frames to skip (4) if you change the
|
||||
// location of this call.
|
||||
num_deleter_pcs =
|
||||
MallocHook::GetCallerStackTrace(
|
||||
deleter_pcs,
|
||||
sizeof(deleter_pcs) / sizeof(deleter_pcs[0]),
|
||||
4);
|
||||
num_deleter_pcs = tcmalloc::GrabBacktrace(
|
||||
deleter_pcs,
|
||||
sizeof(deleter_pcs) / sizeof(deleter_pcs[0]),
|
||||
1);
|
||||
deleter_threadid = tcmalloc::SelfThreadId();
|
||||
} else {
|
||||
num_deleter_pcs = 0;
|
||||
|
|
Loading…
Reference in New Issue