ランタイムで致命的なエラーが発生しました。スレッド 0x1f70 のエラー 0x6a0a7c6d のアドレス。エラー コードは 0x80131623 です。これは、CLR のバグ、またはユーザー コードの安全でない部分または検証不可能な部分のバグである可能性があります。多くの場合、このエラーの原因は、COM 相互運用機能または PInvoke のマーシャリング ユーザー エラーによって形成され、スタックに損傷を与える可能性があります。
この問題を追跡する方法と、彼が実際に何を意味するかを知っている人はいますか?!
これが発生するコードは次のとおりです。
Public Sub Ok()
Try
BTWTariefID = 0
If Prijs > 0 Then
Dim formVraagBtw As New wndVraagBTW()
formVraagBtw.ShowDialog()
BTWTariefID = formVraagBtw.BTWID
End If
CreateOpmerking(Nothing, False, BTWTariefID)
Catch ex As Exception
WriteErrorLog("btnOk", New StackTrace().GetFrame(0).GetMethod.ToString(), ex)
End Try
End Sub
これの奇妙な点は、このサブ内にブレークポイントを設定してから f5 を押すと、このサブにブレークポイントがない場合にのみエラーが発生することです。
何か案は?
編集:
Private Sub CreateOpmerking(gRegel As clsVerkooporderRegel, showBTWTarief As Boolean, btwTariefID As Integer)
Try
Dim dblPrijs As Double
If DMStr(Prijs).Trim = "" Then Prijs = "0"
If Opmerking.Length > 0 And Double.TryParse(Prijs, dblPrijs) Then
Else
dblPrijs = 0
End If
If OrderRegel Is Nothing Then
If gRegel Is Nothing Then
Parent.VMVerkoop.opmerkingsregel(Opmerking, dblPrijs, Aantal, Item, Gang, showBTWTarief, btwTariefID)
Else
Parent.VMVerkoop.opmerkingsregel(Opmerking, dblPrijs, gRegel.aantal, gRegel.orderregel.item, gRegel.orderregel.Gang, showBTWTarief, btwTariefID)
End If
Me.Parent.ModalVisibility = Visibility.Hidden
Me.Parent.Modal = Nothing
Else
OrderRegel.orderregel.opmerking = Opmerking
OrderRegel.orderregel.Omschrijving2 = Opmerking
OrderRegel.orderregel.prijs_per_stuk = dblPrijs
OrderRegel.orderregel.prijs_per_stuk_origineel = dblPrijs
OrderRegel.orderregel.btwtariefID = btwTariefID
OrderRegel.orderregel.aantal = Aantal
If Artikel IsNot Nothing Then OrderRegel.orderregel.artikelID = Artikel.ID
OrderRegel.regeltotaalnakorting = Aantal * dblPrijs
'Me.Parent.VMVerkoop.opmerkingsregel(Opmerking, dblPrijs, Aantal, Item, Gang, Artikel)
Me.Parent.ModalVisibility = Visibility.Hidden
Me.Parent.Modal = Nothing
Me.Parent.VMVerkoop.ververs_orderregels()
Opmerking = ""
End If
Catch ex As Exception
WriteErrorLog("CreateOpmerking", New StackTrace().GetFrame(0).GetMethod.ToString(), ex)
End Try
End Sub
if 条件が true の場合にエラーが発生しますが、if 条件の外でもブレークポイントを設定すると、コードは問題なく実行されます。ブレークポイントを外してもエラーはまったくありません。ありがとう