29 Commits

Author SHA1 Message Date
Tobias Frost
003dd834fd Consistently use long for the pid. 2022-06-24 11:14:43 +02:00
Tobias Frost
3afc8f0a3f Fix process_munmap not handling munmap correctly.
munmap(2) will unmap any page "it touches", the parameters
given to it do not necessarily need to match the ones given to mmap(2).
It is legit to specify pages that are not mapped at all, ranges that
span multiple mappings, with or without holes…

Beside that, a logic error in calculating the size for
process_release_mem() is fixed in the case a munmap would split
a previous allocation in two maps.

Similar fix also for the case where the freed page is at the end
of the allocated area.
2022-06-24 10:55:50 +02:00
Tobias Frost
be3b4c22ae Fix logic error in process_rb_search_range()
The function would not properly check if addr is within the block
due to inversed logic in the comparasion.
2022-06-23 09:18:43 +02:00
Stefani Seibold
495a9d535d fix dwarf unwinding 2018-04-17 11:28:37 +02:00
Stefani Seibold
87f73f3220 fixes 2018-04-16 09:10:19 +02:00
Stefani Seibold
b58a41680a fix copyright 2018-04-12 11:11:58 +02:00
Stefani Seibold
0155d789b4 bump to version 0.8
tons of fixes. On the way to a final release 1.0
2018-04-06 22:10:20 +02:00
Stefani Seibold
3b7a0d0552 clean up, option for invalid free releases 2016-05-24 10:01:41 +02:00
Stefani Seibold
cf997a7dc9 accurate single step, c++ 11 support, optimizations 2016-05-22 09:50:18 +02:00
Stefani Seibold
e50dccecb3 fix realloc 2016-05-19 18:12:09 +02:00
Stefani Seibold
3f7f77d105 fixes for prelink 2016-05-19 13:24:15 +02:00
Stefani Seibold
bf23453ea1 improvements and bug fixes
allow client to change stack backtrace depth
check MT_FREE against invalid address
bug fixing of hw scratch breakpoint
2015-12-01 15:35:28 +01:00
Stefani Seibold
95b0d7b7b8 better kill behaviour 2015-11-27 11:27:21 +01:00
Stefani Seibold
3aed8a6e6b new version 0.5
performance improvements and optimizations
bug fixes
advanced monitoring
2015-11-22 10:24:06 +01:00
Stefani Seibold
ae85b3e514 rename tool in mtrace-ng and new long dump option
remame the toll in mtrace-ng
add new long dump optios, which shows also the libraries
minor fixes
2015-11-03 14:27:36 +01:00
Stefani Seibold
802a1a3b22 introduce new features
- disable hardware breakpoints
  useful for running mtrace inside a virtual machine
- sanity check
  check new/new[] against mismatch operation
  and all c allocation functions against c++ allocation functions and
  visa versa.
2015-10-28 07:57:53 +01:00
Stefani Seibold
6031fde150 minor fixes 2015-10-13 17:12:10 +02:00
Stefani Seibold
d517c6fceb Version 0.2
Lots of performance improvement
Better stack unwind
Bug fixes
2015-10-13 10:18:37 +02:00
Stefani Seibold
44e172dee9 improve cli scan command 2015-05-15 09:35:22 +02:00
Stefani Seibold
046b2003dc misc fixes
fix sortby function
removed not longer needed sigchld handler
fix interactive mode
add verbose level 2 for library trace output
2015-05-14 18:45:35 +02:00
Stefani Seibold
16a5aed0c8 fix file headers 2015-05-06 09:57:40 +02:00
Stefani Seibold
bd061133db revamp code, the way to the first stable release 0.2
reference counting for breakpoints and tasks
fix non interactive mode
eliminate dead code
new option --nocpp, useful when tracing c++ programs linked against
libstdc++
fix verbose mode
fix about exit and exit
2015-05-05 17:11:20 +02:00
Stefani Seibold
8060b8ef7f fix exit handling 2015-05-04 12:42:08 +02:00
Stefani Seibold
66c24caa72 Header cleanup 2015-05-04 11:46:29 +02:00
Stefani Seibold
7850511cf2 do not show leaked info when no leaked bytes detected 2015-04-29 18:26:36 +02:00
Stefani Seibold
0259e186ab the way to the first working release
improve hw bp support
add -k kill option
improve book keeping error handling
support for gperftools tcmalloc
aditional fallback backtracing
2015-04-28 13:17:17 +02:00
Stefani Seibold
31e81d4f25 features and fixes
add ignore regex list
fix minor bugs
2015-04-27 10:58:08 +02:00
Stefani Seibold
92e40e9ec5 fixes 2015-04-26 16:08:45 +02:00
Stefani Seibold
0a26d61e70 initial commit
This is the first public release of the ptrace based mtrace utility, a dynamic
memory allocation debuger and analyzer.
2015-04-20 09:08:14 +02:00