2016-07-20 8 views
2

ich ein großes Projekt haben, wenn ich eine Taste drücken, beginne ich eine neue Aufgabe:Wie kann ich diesen Thread debuggen bezogener Fehler

Task.Factory.StartNew(() => 
{ 
    CreatePortfolio(); 
}); 

Die Form hat eine MSChart und ich habe einen Delegierten für jede Methode, die der Zugang Diagramm.

Wenn ich durch Code Code NO ERROR wird geworfen. Aber wenn ich es gerade betreibe ich diesen Fehler - aber nicht wissen, wo es herkommt, wie es ist Anzeige auf Application.Run Zeile unter:

public static string[] MainArgs; 
[STAThread] 
static void Main(string[] args) 
{ 
    CheckForIllegalCrossThreadCalls = false; 
    MainArgs = args; 

    Application.Run(new MainForm()); //ERROR shown here 
} 

Und die Ausnahme:

System.ArgumentOutOfRangeException was unhandled 
    HResult=-2146233086 
    Message=Years value must be between +/-10000. 
Parameter name: years 
    Source=mscorlib 
    ParamName=years 
    StackTrace: 
     at System.DateTime.AddYears(Int32 value) 
     at System.Windows.Forms.DataVisualization.Charting.ChartHelper.GetIntervalSize(Double current, Double interval, DateTimeIntervalType type, Series series, Double intervalOffset, DateTimeIntervalType intervalOffsetType, Boolean forceIntIndex, Boolean forceAbsInterval) 
     at System.Windows.Forms.DataVisualization.Charting.ChartHelper.GetIntervalSize(Double current, Double interval, DateTimeIntervalType type, Series series, Double intervalOffset, DateTimeIntervalType intervalOffsetType, Boolean forceIntIndex) 
     at System.Windows.Forms.DataVisualization.Charting.Axis.FillLabels(Boolean removeFirstRow) 
     at System.Windows.Forms.DataVisualization.Charting.ChartArea.SetDefaultAxesValues() 
     at System.Windows.Forms.DataVisualization.Charting.ChartArea.SetData(Boolean initializeAxes, Boolean checkIndexedAligned) 
     at System.Windows.Forms.DataVisualization.Charting.ChartArea.ReCalcInternal() 
     at System.Windows.Forms.DataVisualization.Charting.ChartPicture.Paint(Graphics graph, Boolean paintTopLevelElementOnly) 
     at System.Windows.Forms.DataVisualization.Charting.Chart.OnPaint(PaintEventArgs e) 
     at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer) 
     at System.Windows.Forms.Control.WmPaint(Message& m) 
     at System.Windows.Forms.Control.WndProc(Message& m) 
     at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 
    InnerException: 
+0

Setzen Sie try-catch-Block, und zeigen Sie exception.ToString(), können Sie die Zeilennummer sehen, wo die Ausnahme ausgelöst wurde. –

+1

Irgendwelche Chancen, die du mit seltsamen Daten hast? See * Years Wert muss zwischen +/- 10000 sein * –

+0

Versuchen Sie fangen - nicht fangen ... Deshalb denke ich, dass es Thread verwandt ist – ManInMoon

Antwort

1

Ich denke, Sie verwenden DateTime.AddYears an einem bestimmten Punkt, und der Wert zum Hinzufügen von Jahren ist nicht gültig.

Bitte überprüfen Sie, dass ich denke, dass Sie einige Array und Übergabe von Werten aus einem bestimmten Index dieses Array und an einem Punkt übergeben nicht im Array verfügbar. Dies ist Ihr Problem

+0

Nein, es kommt nicht von AddYears in meinem Code. Aber es kann von innerhalb von Mcharts sein, wenn es die Seite neu streicht – ManInMoon

Verwandte Themen