这个错误代码告诉我什么?

时间:2018-02-28 18:46:12

标签: vb.net runtime-error

我的软件在没有调试器的计算机上产生以下错误。我只被发送了错误消息,而我能够理解的是,当一个函数在datagridview上调用get项时,索引太大了。此函数也已被定时器调用...有没有办法找出什么数据网格?什么功能?或者什么可以帮助我找到原因?该软件被混淆了..

   ************** Testo dell'eccezione **************

System.ArgumentOutOfRangeException: Index non compreso nell'intervallo. Richiesto valore non negativo e minore della dimensione della raccolta.
Nome parametro: index
   in System.Collections.ArrayList.get_Item(Int32 index)
   in System.Windows.Forms.DataGridViewRowCollection.SharedRow(Int32 rowIndex)
   in System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
   in bU?Fr_;Iv^$tpm3^/!sU0<HH".(DataGridViewRowCollection , Int32 )
   in bU?Fr_;Iv^$tpm3^/!sU0<HH".(Int32 )
   in bU?Fr_;Iv^$tpm3^/!sU0<HH".(Object , EventArgs )
   in System.Windows.Forms.Timer.OnTick(EventArgs e)
   in System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
   in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

2 个答案:

答案 0 :(得分:1)

不,如果没有向应用程序添加日志记录,就无法获取实例信息。您可以记录崩溃时正在使用的DataGrid。

编辑: 您可以使用从简单的WriteLine到文本文件的任何内容进行日志记录,一直到完整的基于.NET的日志记录库(github上有很多)。

what function?

您应该关注的方法是

in bU?Fr_;Iv^$tpm3^/!sU0<HH".(Object , EventArgs )

您可以找出实际代码中的哪种方法,或者您的混淆器应该具有模糊名称的真实类/方法名称的映射。

答案 1 :(得分:0)

要添加Jim W所说的内容,您可以使用以下内容记录错误:

Public Sub addLog(txt As String)
    logFile = "location/to/store/file.log"
    Dim dateTime As String = "[" + System.DateTime.Now + "]"
    Dim logStore As String = ""
    If My.Computer.FileSystem.FileExists(logFile) Then
        logStore = My.Computer.FileSystem.ReadAllText(location)
    Else
        File.Create(logFile).Dispose()
    End If
    My.Computer.FileSystem.WriteAllText(logFile,
    dateTime + vbNewLine + txt + vbNewLine + vbNewLine + logStore, False)
End Sub

您可以按如下方式访问它:

Try
    ''code to try
Catch ex As Exception
    addLog(ex.ToString)
End Try