gpt4 book ai didi

VB6:Capicom 在 WinXP 上崩溃

转载 作者:行者123 更新时间:2023-12-02 05:10:27 27 4
gpt4 key购买 nike

关于解决此崩溃问题有什么建议吗?

下面的代码在日志 <part>14 之间间歇性崩溃和日志记录<part>15Plaintext是一个路径字符串(在本例中它是 "C:\Documents and Settings\Brian\Desktop\Joy\" ,尽管明显缺乏这种乐趣。我有一种沉闷的感觉,这是某种邪恶内存问题的症状。我尝试了 Capicom 2.1.0.1 和 2.1。 0.2,两者都崩溃了。后者给出了标准的错误报告消息,前者默默地死掉了(即程序自行关闭)。我在别人的 XP 机器上测试了它,遇到了同样的问题,尽管它在 Vista 上运行得很好。

Const curMthd = "EncryptStringWrap"
Dim Message As CAPICOM.EncryptedData
Set Message = New CAPICOM.EncryptedData
Dim oUtil As CAPICOM.Utilities
Set oUtil = New CAPICOM.Utilities
E.ErrorLog "<PART>14"
Message.Content = plaintext
E.ErrorLog "<PART>15"

编辑:这不是导致问题的数据。我一直在手动传递数据来测试这一点;它工作正常。令人烦恼的是,当我将测试代码放入初始化中时,该错误就消失了。邪恶的 heisenbug :( 。可能是内存问题 :(

编辑 2:重写等等 here ,并关闭。与这个问题本身并不是同一个问题,但这个问题是基于对问题的严重误解。

最佳答案

斜杠可能会导致 CAPICOM 无法正确处理字符串。通过将代码放入一个循环中,在其中输入不同的字符串,您可以找出问题序列。

鉴于 CAPICOM 是 cryptoAPI 的包装器,这可以为您提供另一条路径,您可以在其中运行使用相同序列和相同类型的调用直接访问 Crypto API 的测试项目。在互联网上阅读的内容是一个薄薄的包装。

MSDN 有一些示例代码 here还有更多可用的。

我用这种方式处理了各种“包装”Com DLL 的许多问题。找到导致问题的数据。直接使用相同的数据使用Win API编写测试项目。然后评价。

结果通常是我实现自己的包装器。或者发现我缺少一个步骤或者配置错误。

请注意,这适用于 .NET 中的包装程序集,并且具有能够使用反射器查看包装程序正在执行的操作的额外好处。

关于VB6:Capicom 在 WinXP 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/331901/

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