[Haiku-commits] r31171 - haiku/trunk/src/apps/debugger/debugger_interface

bonefish at BerliOS bonefish at mail.berlios.de
Mon Jun 22 02:07:14 CEST 2009


Author: bonefish
Date: 2009-06-22 02:07:13 +0200 (Mon, 22 Jun 2009)
New Revision: 31171
ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=31171&view=rev

Modified:
   haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.cpp
Log:
Also return the "commpage" image as one of the team's images.


Modified: haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.cpp
===================================================================
--- haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.cpp	2009-06-21 23:44:18 UTC (rev 31170)
+++ haiku/trunk/src/apps/debugger/debugger_interface/DebuggerInterface.cpp	2009-06-22 00:07:13 UTC (rev 31171)
@@ -12,6 +12,7 @@
 #include <Locker.h>
 
 #include <AutoLocker.h>
+#include <commpage_defs.h>
 #include <util/DoublyLinkedList.h>
 
 #include "debug_utils.h"
@@ -383,6 +384,7 @@
 status_t
 DebuggerInterface::GetImageInfos(BObjectList<ImageInfo>& infos)
 {
+	// get the team's images
 	image_info imageInfo;
 	int32 cookie = 0;
 	while (get_next_image_info(fTeamID, &cookie, &imageInfo) == B_OK) {
@@ -395,6 +397,24 @@
 		}
 	}
 
+	// Also add the "commpage" image, which belongs to the kernel, but is used
+	// by userland teams.
+	cookie = 0;
+	while (get_next_image_info(B_SYSTEM_TEAM, &cookie, &imageInfo) == B_OK) {
+		if ((addr_t)imageInfo.text >= USER_COMMPAGE_ADDR
+			&& (addr_t)imageInfo.text < USER_COMMPAGE_ADDR + COMMPAGE_SIZE) {
+			ImageInfo* info = new(std::nothrow) ImageInfo(B_SYSTEM_TEAM,
+				imageInfo.id, imageInfo.name, (addr_t)imageInfo.text,
+				imageInfo.text_size, (addr_t)imageInfo.data,
+				imageInfo.data_size);
+			if (info == NULL || !infos.AddItem(info)) {
+				delete info;
+				return B_NO_MEMORY;
+			}
+			break;
+		}
+	}
+
 	return B_OK;
 }
 




More information about the Haiku-commits mailing list