gpt4 book ai didi

c - C代码中的异常

转载 作者:行者123 更新时间:2023-12-02 15:47:09 31 4
gpt4 key购买 nike

想知道这个异常是什么意思?

NTUnhandledExceptionHandler@NTExceptionHandler@@CGJPAU_EXCEPTION_POINTERS@@@Z! jdenet_k.exe

=====Call stack of thread 5612=====
_LogNTCallStackDump@8! jdel.dll
?NTUnhandledExceptionHandler@NTExceptionHandler@@CGJPAU_EXCEPTION_POINTERS@@@Z! jdenet_k.exe
0x78c65b6.<nosymbols>! qstatus.dll
0x771bd29e.<nosymbols>! ntdll.dll
0x771bd45f.<nosymbols>! ntdll.dll

====> Exception C0000005 ACCESS_VIOLATION occurred in thread 5612 with call stack:
_jdeStrcmp@8! jdeunicode.dll
_IB4210030_SetCrossReferenceItemData@20! CSALES.dll
_IB4210030_ReconcileSalesOrderLineData@24! CSALES.dll
_IB4210030_IProcessSalesOrderLine@20! CSALES.dll
_IB4210030_ProcessNextUnprocessedSalesOrderLine@20! CSALES.dll
_ProcessNextUnprocessedSalesOrderLine@20! CSALES.dll
_IB4210900_ProcessUnprocessedLines@12! CSALES.dll
_IB4210900_PerformSalesOrderAction@32! CSALES.dll
_SalesOrderApplCtrlEX@12! CSALES.dll
_jdeCallObjectV2@44! jdekrnl.dll



There is also another related error in one of the log files:

====> Exception C0000005 ACCESS_VIOLATION occurred in thread 5612
call stack dumped in file <E:\JDEdwards\E812\DDP\log\jde_11740_1310990285_1_dmp.log>: iParam: 0000000000
INFO: Entering kernel signal handler, process exiting soon: iParam: 1310990289
INFO: Done setting IPC Handle State structures to abandoned, process exiting immediately: iParam: 1310990289

最佳答案

强调文本看起来就像jdeunicode.dll中的函数jdeStrcmp()(stdcall函数)导致异常(访问冲突,换句话说,某些指针是错误的或为零)。

在我看来,一个好的 DLL 不会让异常逃逸,但显然这个异常(exception)。

更新

对于使用与 DLL 相同的语言编写的调用者来说,让异常逃逸通常不会有问题。对于没有这样做的调用者来说,这可能是灾难性的。我是根据这里的经验来发言的。该函数当然应该以某种方式向调用者发出信号,表明发生了某些事情。如何发生这是一个设计问题。让异常逃逸肯定是错误的方法。

参见this SO question还有关于跨模块边界的异常。或this one (相同的语言,不同的版本!)。或者谷歌一下。您将看到许多原因和示例,说明为什么跨越模块边界的异常是一个坏主意

无法捕获转义( native )DLL 的异常的语言的一个示例是 C#,例如在 this SO question 。我认为这同样适用于其他 .NET 语言以及多种 native 语言。

关于c - C代码中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7181329/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com