mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
thread list is more responsive
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@1594 21ef857c-d57f-4fe0-8362-d861dc6d29cd
This commit is contained in:
@@ -4,6 +4,7 @@ Process Hacker
|
||||
* NEW/IMPROVED:
|
||||
* Better process window exit status display
|
||||
* Better handle granted access display
|
||||
* Thread list is more responsive
|
||||
|
||||
1.3.9.0
|
||||
* NEW/IMPROVED:
|
||||
|
||||
@@ -125,8 +125,6 @@ namespace ProcessHacker.Components
|
||||
|
||||
private void listThreads_SelectedIndexChanged(object sender, System.EventArgs e)
|
||||
{
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
|
||||
if (listThreads.SelectedItems.Count == 1)
|
||||
{
|
||||
try
|
||||
@@ -134,7 +132,6 @@ namespace ProcessHacker.Components
|
||||
int tid = int.Parse(listThreads.SelectedItems[0].Name);
|
||||
var thread = Windows.GetProcessThreads(_pid)[tid];
|
||||
ProcessThread processThread = null;
|
||||
string fileName;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -143,23 +140,8 @@ namespace ProcessHacker.Components
|
||||
catch
|
||||
{ }
|
||||
|
||||
if (!_provider.Symbols.Busy)
|
||||
{
|
||||
try
|
||||
{
|
||||
_provider.Symbols.GetSymbolFromAddress(_provider.Dictionary[tid].StartAddressI.ToUInt64(), out fileName);
|
||||
fileModule.Text = fileName;
|
||||
fileModule.Enabled = true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
fileModule.Enabled = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fileModule.Enabled = false;
|
||||
}
|
||||
fileModule.Text = _provider.Dictionary[tid].FileName;
|
||||
fileModule.Enabled = !string.IsNullOrEmpty(fileModule.Text);
|
||||
|
||||
if (processThread != null)
|
||||
{
|
||||
@@ -210,8 +192,6 @@ namespace ProcessHacker.Components
|
||||
|
||||
if (this.SelectedIndexChanged != null)
|
||||
this.SelectedIndexChanged(sender, e);
|
||||
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
|
||||
private void ThreadList_KeyDown(object sender, KeyEventArgs e)
|
||||
|
||||
@@ -51,6 +51,7 @@ namespace ProcessHacker
|
||||
public string Priority;
|
||||
public IntPtr StartAddressI;
|
||||
public string StartAddress;
|
||||
public string FileName;
|
||||
public SymbolResolveLevel StartAddressLevel;
|
||||
public KWaitReason WaitReason;
|
||||
public bool IsGuiThread;
|
||||
@@ -65,6 +66,7 @@ namespace ProcessHacker
|
||||
{
|
||||
public int Tid;
|
||||
public string Symbol;
|
||||
public string FileName;
|
||||
public SymbolResolveLevel ResolveLevel;
|
||||
}
|
||||
|
||||
@@ -97,6 +99,7 @@ namespace ProcessHacker
|
||||
if (message.Symbol != null)
|
||||
{
|
||||
this.Dictionary[message.Tid].StartAddress = message.Symbol;
|
||||
this.Dictionary[message.Tid].FileName = message.FileName;
|
||||
this.Dictionary[message.Tid].StartAddressLevel = message.ResolveLevel;
|
||||
this.Dictionary[message.Tid].JustResolved = true;
|
||||
}
|
||||
@@ -276,7 +279,16 @@ namespace ProcessHacker
|
||||
|
||||
try
|
||||
{
|
||||
result.Symbol = _symbols.GetSymbolFromAddress(startAddress, out result.ResolveLevel);
|
||||
SymbolFlags flags;
|
||||
string fileName;
|
||||
|
||||
result.Symbol = _symbols.GetSymbolFromAddress(
|
||||
startAddress,
|
||||
out result.ResolveLevel,
|
||||
out flags,
|
||||
out fileName
|
||||
);
|
||||
result.FileName = fileName;
|
||||
_messageQueue.Enqueue(result);
|
||||
}
|
||||
catch
|
||||
|
||||
Reference in New Issue
Block a user