winedbg: In "info threads" commands, also show the name of the processes even if not debugged.
This commit is contained in:
parent
d0a3ef4f40
commit
280259aaca
|
@ -475,6 +475,22 @@ void info_win32_processes(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static BOOL get_process_name(DWORD pid, PROCESSENTRY32* entry)
|
||||||
|
{
|
||||||
|
BOOL ret = FALSE;
|
||||||
|
HANDLE snap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
|
||||||
|
|
||||||
|
if (snap != INVALID_HANDLE_VALUE)
|
||||||
|
{
|
||||||
|
entry->dwSize = sizeof(*entry);
|
||||||
|
if (Process32First(snap, entry))
|
||||||
|
while (!(ret = (entry->th32ProcessID == pid)) &&
|
||||||
|
Process32Next(snap, entry));
|
||||||
|
CloseHandle(snap);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
void info_win32_threads(void)
|
void info_win32_threads(void)
|
||||||
{
|
{
|
||||||
HANDLE snap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
|
HANDLE snap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
|
||||||
|
@ -500,11 +516,19 @@ void info_win32_threads(void)
|
||||||
if (entry.th32OwnerProcessID != lastProcessId)
|
if (entry.th32OwnerProcessID != lastProcessId)
|
||||||
{
|
{
|
||||||
struct dbg_process* p = dbg_get_process(entry.th32OwnerProcessID);
|
struct dbg_process* p = dbg_get_process(entry.th32OwnerProcessID);
|
||||||
|
PROCESSENTRY32 pcs_entry;
|
||||||
|
const char* exename;
|
||||||
|
|
||||||
|
if (p)
|
||||||
|
exename = dbg_W2A(p->imageName, -1);
|
||||||
|
else if (get_process_name(entry.th32OwnerProcessID, &pcs_entry))
|
||||||
|
exename = pcs_entry.szExeFile;
|
||||||
|
else
|
||||||
|
exename = "";
|
||||||
|
|
||||||
dbg_printf("%08x%s %s\n",
|
dbg_printf("%08x%s %s\n",
|
||||||
entry.th32OwnerProcessID, p ? " (D)" : "",
|
entry.th32OwnerProcessID, p ? " (D)" : "", exename);
|
||||||
p ? dbg_W2A(p->imageName, -1) : "");
|
lastProcessId = entry.th32OwnerProcessID;
|
||||||
lastProcessId = entry.th32OwnerProcessID;
|
|
||||||
}
|
}
|
||||||
dbg_printf("\t%08x %4d%s\n",
|
dbg_printf("\t%08x %4d%s\n",
|
||||||
entry.th32ThreadID, entry.tpBasePri,
|
entry.th32ThreadID, entry.tpBasePri,
|
||||||
|
|
Loading…
Reference in New Issue