Handler für Zugriffsverletzungen in C#
Posted: 08 Jan 2025, 08:54
Anwendung: UDPBroad.exe Framework Version: v4.0.30319 Beschreibung:
Der Prozess wurde aufgrund einer nicht behandelten Ausnahme beendet. Ausnahme
Info: System.AccessViolationException bei Program.ExecCMUQry() bei
System.Threading.ThreadHelper.ThreadStart_Context(System.Object) bei
System.Threading.ExecutionContext.RunInternal(System.Threading. ExecutionContext,
System.Threading.ContextCallback, System.Object, Boolean) bei
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,
System.Threading.ContextCallback, System.Object, Boolean) at
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext ,
System.Threading.ContextCallback, System.Object) bei
System.Threading.ThreadHelper.ThreadStart()
Mein Code ist
Während die Werte von intBlim=2000
und QuFUTEQ1401 eine Warteschlange sind
Ich habe eine Sperre hinzugefügt, stürzt meine Anwendung immer noch wegen Speicherressourcen ab. Welchen anderen Ansatz sollte ich wählen?
Der Prozess wurde aufgrund einer nicht behandelten Ausnahme beendet. Ausnahme
Info: System.AccessViolationException bei Program.ExecCMUQry() bei
System.Threading.ThreadHelper.ThreadStart_Context(System.Object) bei
System.Threading.ExecutionContext.RunInternal(System.Threading. ExecutionContext,
System.Threading.ContextCallback, System.Object, Boolean) bei
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,
System.Threading.ContextCallback, System.Object, Boolean) at
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext ,
System.Threading.ContextCallback, System.Object) bei
System.Threading.ThreadHelper.ThreadStart()
Mein Code ist
Code: Select all
public void ExecCMUQry()
{
try
{
while (true)
{
while (QuFUTEQ1401.Count == 0) Thread.Sleep(100);
string Str = "";
lock (queueLock)
{
while (QuFUTEQ1401.Count >= intClearQueue)
{
for (int index = 1; index 0 ? "," : "") + (long)QuFUTEQ1401.Dequeue();
intClearCount = intClearCount + 1;
}
}
Str = "";
lock (queueLock)
{
int cnt = Math.Min(QuFUTEQ1401.Count, intBlim);
StringBuilder sb = new StringBuilder();
for (int i = 0; i 0)
ThrdCMcon.ExecuteQuerySP(Str);
}
}
}
catch (ThreadAbortException ex)
{
DataAccess.WriteELog($"Error: {ex.Message}");
Thread.ResetAbort();
}
catch (Exception ex)
{
DataAccess.WriteELog($"Error: {ex.Message}");
ExecCMUQry_Restart();
}
}
und QuFUTEQ1401 eine Warteschlange sind
Ich habe eine Sperre hinzugefügt, stürzt meine Anwendung immer noch wegen Speicherressourcen ab. Welchen anderen Ansatz sollte ich wählen?