- Get notified if the application/benchmark crashes in simulation mode.
- Use core-dump to find out why and at which location the application crashed.
This feature uses linux kernel's '/proc/sys/kernel/core_pattern' interface to invoke custom core-dump handler application that passes the core-dump to Marss. From 'core' man page, when core_pattern starts with '|' it invokes specified application with core-dump passed via STDIN. In provided disk images, 'core_pattern' is set to following at startup:
'|/bin/core-dump-handler %s %e'
Here, 'core-dump-handler' (source) is small application that takes in the core-dump from STDIN and uses PTLCall interface to pass that data to Marss.
So, while running simulations, if you see any file with name '*-core', it means that something went wrong in your simulation and it crashed your application/benchmark. Use that core file in gdb to find out what happened. This feature already helped me to debug pgbench benchmark.
Note: Currently this feature is available in core-models branch from commit 26f3ae3 and higher.
No comments:
Post a Comment