summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Milian Wolff [Tue, 20 May 2014 07:33:29 +0000 (09:33 +0200)]
Reimplement backtrace reading and offload dwarf info interpretation.
This makes the profiling run much faster. The later evaluation is
not so performance critical then thereafter.
Milian Wolff [Tue, 20 May 2014 07:32:22 +0000 (09:32 +0200)]
Fix regression I introduced
Milian Wolff [Mon, 19 May 2014 14:35:34 +0000 (16:35 +0200)]
Use relative module offsets instead of baseAddress + address.
Milian Wolff [Mon, 19 May 2014 14:24:19 +0000 (16:24 +0200)]
Add kdev project file.
Milian Wolff [Mon, 19 May 2014 14:24:10 +0000 (16:24 +0200)]
Add start of a malloc trace evaluation executable.
This shows that we can do post-mortem address resolution.
Not yet really functional but enough for a quick test.
Milian Wolff [Mon, 19 May 2014 14:23:10 +0000 (16:23 +0200)]
Remove uuid code, not required for my usecase afaik.
Milian Wolff [Mon, 19 May 2014 13:07:56 +0000 (15:07 +0200)]
Cleanup code, insert data directly in a sorted order.
Milian Wolff [Mon, 19 May 2014 12:55:10 +0000 (14:55 +0200)]
Port bsearch to C++ STL's std::lower_bound.
Milian Wolff [Mon, 19 May 2014 12:31:03 +0000 (14:31 +0200)]
Adapt code to my coding style.
Milian Wolff [Mon, 19 May 2014 12:25:33 +0000 (14:25 +0200)]
Cleanup code a bit by removing unused functions.
Milian Wolff [Mon, 19 May 2014 06:26:44 +0000 (08:26 +0200)]
Get proper dwarf-based backtraces with filename and line numbers.
This code is based on the libbacktrace from GCC, see:
https://github.com/mirrors/gcc/tree/master/libbacktrace
Furthermore, we include btrace.{cpp,h} and CMakeLists.txt, based
on Vogl from Valve Software/RAD Game Tools, see:
https://github.com/ValveSoftware/vogl.git
Milian Wolff [Fri, 16 May 2014 00:46:04 +0000 (02:46 +0200)]
Add todo on sub-tree matching
Milian Wolff [Thu, 15 May 2014 20:47:48 +0000 (22:47 +0200)]
Don't create single-entry trees output.
Milian Wolff [Thu, 15 May 2014 20:42:42 +0000 (22:42 +0200)]
Save memory, use unsigned int instead of size_t for ids.
The number of call stacks should hopefully fit into that range.
Milian Wolff [Thu, 15 May 2014 20:33:46 +0000 (22:33 +0200)]
Only print a given call-tree once
Milian Wolff [Thu, 15 May 2014 20:33:07 +0000 (22:33 +0200)]
Stop at static_initialization_and_destruction
Milian Wolff [Thu, 15 May 2014 20:32:34 +0000 (22:32 +0200)]
Move test files and compile them in debug mode.
Milian Wolff [Thu, 15 May 2014 19:10:42 +0000 (21:10 +0200)]
Use namespace std;
Milian Wolff [Thu, 15 May 2014 18:51:38 +0000 (20:51 +0200)]
Add kateconfig
Milian Wolff [Thu, 15 May 2014 18:10:50 +0000 (20:10 +0200)]
Write output into per-thread files and merge that then later.
Milian Wolff [Thu, 15 May 2014 17:43:46 +0000 (19:43 +0200)]
Skip handleMalloc properly.
Milian Wolff [Thu, 15 May 2014 17:37:14 +0000 (19:37 +0200)]
Add support for posix_memalign, aligned_alloc and valloc.
Milian Wolff [Thu, 15 May 2014 17:24:02 +0000 (19:24 +0200)]
Handle calloc.
Milian Wolff [Thu, 15 May 2014 17:07:15 +0000 (19:07 +0200)]
Handle realloc
Milian Wolff [Thu, 15 May 2014 17:01:14 +0000 (19:01 +0200)]
Also output calls to free
Milian Wolff [Thu, 15 May 2014 16:26:30 +0000 (18:26 +0200)]
Print full backtraces
Milian Wolff [Thu, 15 May 2014 16:00:09 +0000 (18:00 +0200)]
Make it possible to run the malloc tracer in GDB easily.
Milian Wolff [Thu, 15 May 2014 15:59:21 +0000 (17:59 +0200)]
Cleanup code and only output function names once.
Also don't keep them in memory afterwards. This means we'll need a
separate tool to interpret the data, but its much faster this way.
Milian Wolff [Thu, 15 May 2014 15:32:30 +0000 (17:32 +0200)]
Cache unw_get_proc_name for the ip's we encounter
Milian Wolff [Thu, 15 May 2014 15:08:17 +0000 (17:08 +0200)]
Print caller of malloc/operator new/operator new[] instead of full backtrace.
Milian Wolff [Thu, 15 May 2014 14:27:27 +0000 (16:27 +0200)]
On-demand initialize real_* func ptrs.
We must not rely on static initialization order here.
Milian Wolff [Thu, 15 May 2014 14:10:22 +0000 (16:10 +0200)]
Only local unwind is required
Milian Wolff [Thu, 15 May 2014 14:10:11 +0000 (16:10 +0200)]
add c++ example
Milian Wolff [Thu, 15 May 2014 14:09:58 +0000 (16:09 +0200)]
extend test.c a bit.
Milian Wolff [Thu, 15 May 2014 12:47:25 +0000 (14:47 +0200)]
Add simple malloc/free tracer
Milian Wolff [Fri, 31 May 2013 16:55:36 +0000 (18:55 +0200)]
don't trace child apps
Milian Wolff [Fri, 31 May 2013 16:55:30 +0000 (18:55 +0200)]
Append PID to output files
Milian Wolff [Fri, 31 May 2013 16:08:18 +0000 (18:08 +0200)]
add simple run script
Milian Wolff [Fri, 31 May 2013 16:07:53 +0000 (18:07 +0200)]
simplify
Milian Wolff [Fri, 31 May 2013 15:51:02 +0000 (17:51 +0200)]
Make output actually usable and also possible to dump to a custom file
Milian Wolff [Fri, 31 May 2013 12:27:49 +0000 (14:27 +0200)]
Make output destination configurable
Milian Wolff [Fri, 31 May 2013 12:27:37 +0000 (14:27 +0200)]
Only enable c++11 for c++ files
Milian Wolff [Fri, 31 May 2013 12:18:49 +0000 (14:18 +0200)]
Add test binary to verify that this trick also works with pure C applications
Milian Wolff [Wed, 29 May 2013 23:16:58 +0000 (01:16 +0200)]
true instead of 1
Milian Wolff [Wed, 29 May 2013 23:03:12 +0000 (01:03 +0200)]
fix usage message
Milian Wolff [Wed, 29 May 2013 23:02:48 +0000 (01:02 +0200)]
Use raw pointer to not get a double delete on exit.
Milian Wolff [Wed, 29 May 2013 23:02:32 +0000 (01:02 +0200)]
Add snapshot ID and timestamp to output.
Milian Wolff [Wed, 29 May 2013 22:40:08 +0000 (00:40 +0200)]
add LGPL v2+ license
Milian Wolff [Wed, 29 May 2013 22:29:12 +0000 (00:29 +0200)]
Initial import of dumpmallocinfo.
This is a little library that you can LD_PRELOAD to your application.
It will then call malloc_info in user-defined intervals (configured
via DUMP_MALLOC_INFO_INTERVAL environment variable).
See `man malloc_info 3` for more information.