[PATCH 3/4] ldv/unwind: handle deleted file when building map cache

Masatake YAMATO yamato at redhat.com
Wed Apr 9 16:52:11 UTC 2014


Signed-off-by: Masatake YAMATO <yamato at redhat.com>
---
 unwind.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/unwind.c b/unwind.c
index a7e985e..0f9f79d 100644
--- a/unwind.c
+++ b/unwind.c
@@ -130,6 +130,7 @@ build_mmap_cache(struct tcb *tcp)
 	char filename[sizeof ("/proc/0123456789/maps")];
 	char buffer[PATH_MAX + 80];
 	char binary_path[PATH_MAX];
+	size_t blen;
 	struct mmap_cache_t *cur_entry, *prev_entry;
 	/* start with a small dynamically-allocated array and then expand it */
 	size_t cur_array_size = 10;
@@ -162,6 +163,11 @@ build_mmap_cache(struct tcb *tcp)
 		if (binary_path[0] == '\0')
 			continue;
 
+		/* ignore deleted file. */
+		blen = strlen(binary_path);
+		if (blen >= 10 && strcmp(binary_path + blen - 10, " (deleted)") == 0)
+			continue;
+
 		if (end_addr < start_addr)
 			perror_msg_and_die("%s: unrecognized maps file format",
 					   filename);
-- 
1.8.5.3





More information about the Strace-devel mailing list