Add new "walk" command options to list processes and modref's.
diff --git a/loader/module.c b/loader/module.c
index feb4974..44d600e 100644
--- a/loader/module.c
+++ b/loader/module.c
@@ -35,6 +35,35 @@
DECLARE_DEBUG_CHANNEL(module)
DECLARE_DEBUG_CHANNEL(win32)
+/*************************************************************************
+ * MODULE_WalkModref
+ * Walk MODREFs for input process ID
+ */
+void MODULE_WalkModref( DWORD id )
+{
+ int i;
+ WINE_MODREF *zwm, *prev = NULL;
+ PDB *pdb = PROCESS_IdToPDB( id );
+
+ if (!pdb) {
+ MESSAGE("Invalid process id (pid)\n");
+ return;
+ }
+
+ MESSAGE("Modref list for process pdb=%p\n", pdb);
+ MESSAGE("Modref next prev handle deps flags name\n");
+ for ( zwm = pdb->modref_list; zwm; zwm = zwm->next) {
+ MESSAGE("%p %p %p %04x %5d %04x %s\n", zwm, zwm->next, zwm->prev,
+ zwm->module, zwm->nDeps, zwm->flags, zwm->modname);
+ for ( i = 0; i < zwm->nDeps; i++ ) {
+ if ( zwm->deps[i] )
+ MESSAGE(" %d %p %s\n", i, zwm->deps[i], zwm->deps[i]->modname);
+ }
+ if (prev != zwm->prev)
+ MESSAGE(" --> modref corrupt, previous pointer wrong!!\n");
+ prev = zwm;
+ }
+}
/*************************************************************************
* MODULE32_LookupHMODULE