无法在win64模式下运行新项目,但win32模式可以正常工作

问题描述 投票:0回答:1

我最近重新格式化了运行 Windows 8.1 的计算机,并重新安装了 Delphi XE6,它在格式化计算机之前运行良好。每当我打开一个新项目并按 F9(Windows 64 作为目标平台)时,我都会收到以下错误:

Debugger Assertion Failure: "lastErr == WSAEINTR" in ..\win32src\wmcipc.cpp at line 294

Fatal error starting debugger kernel: 'Invalid debugger request'. Please save your work and restart RAD Studio XE6

我下载了XE7试用版并遇到了同样的问题。我已经进行了一些谷歌搜索,但找不到解决方案。

我猜有一些用户访问问题或程序阻止了调试器?

delphi delphi-xe6
1个回答
5
投票

此问题已在此处针对恶意软件干扰您的 winsock 堆栈的情况进行了回答:

https://forums.embarcadero.com/thread.jspa?messageID=712725(死链接,这里是2016年12月8日的快照)[1]

“以管理员身份打开命令提示符,然后运行”

netsh winsock reset

请注意,原帖还指出:

这将删除您拥有的任何其他winsock LSP,因此您需要重新安装它们。 (防火墙、安全软件等)


[1]:原始帖子的全文,以防止链接失效而使其再次不可用(链接到已迁移的 Embarcadero 问题和我添加的格式)

有一些关于此问题的内容已在QC#104007中关闭,但是我无法找到列出的任何特定解决方法,但我确实设法找到了一种使调试器再次工作的方法。这是(在我的系统上)由自行安装的一个特别令人讨厌的恶意软件引起的。即使删除恶意软件后,winsock 堆栈中仍然存在一个额外的软件,它会阻止 64 位调试器启动。该文件

LavasoftTcpService64.dll
据说信誉良好,但我从未安装过广告感知功能,因此它与我的计算机无关。它不能轻易删除,因为这样做会给您带来系统恢复和启动修复的美妙乐趣。 (在我的系统上,任何没有 lavasoft 的系统还原点都无法正常工作)。

但是,Windows 确实提供了一个很好的工具,可以将其删除并让你的调试器再次工作。
以管理员身份打开命令提示符,然后运行

netsh winsock reset

重新启动后,您的 64 位调试器应该会再次工作。

这将删除您拥有的任何其他winsock LSP,因此您需要重新安装它们。 (防火墙、安全软件等)

© www.soinside.com 2019 - 2024. All rights reserved.