4

MSXML2.serverXMLHTTP.6.0我正在尝试使用or同时创建 100-300 个 HTTP 对象/请求WinHttp.WinHttpRequest.5.1

这些请求是使用测试应用程序在单独的线程上创建的。最多可以同时运行 90 个创建对象/请求,一切正常。

当同时创建/调用超过 100 个时,应用程序崩溃并在 KERNELBASE.dll 中出现异常。

代码:

CreateObject("MSXML2.serverXMLHTTP.6.0")
CreateObject("WinHttp.WinHttpRequest.5.1")

set obj = CreateObject("MSXML2.serverXMLHTTP.6.0")
'set obj = CreateObject("WinHttp.WinHttpRequest.5.1")

obj.open "GET", "https://httpbin.org/get", true
'https://resttesttest.com/

obj.send   ' Mostly crashes here.
obj.WaitForResponse

result =  obj.responseTEXT

set obj = Nothing

事件查看器报告:

错误模块名称:KERNELBASE.dll,版本:6.1.7601.18015,时间戳:0x50b83c8a 异常代码:0xc00000fd 错误模块路径:C:\Windows\syswow64\KERNELBASE.dll

我尝试将异步设置为“true”并设置为“false”。

任何人都可以提供任何调试这个的指针吗?

4

2 回答 2

1

如果您这样做是为了破坏您的 REST 服务器并对其进行容量/吞吐量压力测试,那么我可以建议您给自己多个进程,每个进程都有自己的线程池(尽管我仍然不清楚您是如何设法创建自己的线程的VB 脚本)。

于 2017-04-08T10:08:24.250 回答
0

如果您已经用尽了其他可能的原因,我会确保 .dll 没有问题这里是系统文件修复工具

https://support.microsoft.com/en-us/help/929833/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system-files

另外,我对那个特定的 .dll 做了一些研究,而 KERNALBASE.dll 的大多数问题都与 32 位和 64 位应用程序之间的不兼容有关

https://social.msdn.microsoft.com/Forums/vstudio/en-US/2556a86b-f82e-4efb-bcdd-19919facbff6/application-error-faulting-module-name-kernelbasedll-version-61760016385?forum=vcgeneral

http://zahirkhan.com/dotnet/faulting-module-path-kernelbasedll

我希望这可以解决您的问题,或者至少让您朝着正确的方向前进。

于 2017-04-12T21:02:12.367 回答