![当脚本挂钩 v dll 位于游戏目录中时,如何让 renderdocui.exe 运行 GTAVLauncher.exe?](https://linux22.com/image/1523568/%E5%BD%93%E8%84%9A%E6%9C%AC%E6%8C%82%E9%92%A9%20v%20dll%20%E4%BD%8D%E4%BA%8E%E6%B8%B8%E6%88%8F%E7%9B%AE%E5%BD%95%E4%B8%AD%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E8%AE%A9%20renderdocui.exe%20%E8%BF%90%E8%A1%8C%20GTAVLauncher.exe%EF%BC%9F.png)
当我使用 RenderDoc (v 0.27) 启动 GTAV 游戏时,出现此错误,并且我在 GTAV 游戏目录中有 Script HooK V dll(用于游戏修改)。我收到此错误:win32_network.cpp( 344) - 警告 - 无法连接到 localhost:38921
似乎 Script Hook V 和 RenderDoc 都试图访问同一个端口,并且发生了竞争条件。我该如何解决这个问题?
最新版本的 RenderDoc (v 0.33) 没有这个问题。最新版本的 RenderDoc:我正在使用的 RenderDoc 版本:
当我单独使用 Script Hook V 时(意味着我通过单击 GTAVLauncher.exe 而不是从 renderdocui 启动 GTAV 游戏),这是我收到的日志:
// GTA V SCRIPT HOOK (build Dec 15 2016, v1.0.944.2)
// (C) Alexander Blade 2015-2016
[18:36:37] INIT: Started
[18:36:37] INIT: Success, game version is VER_1_0_944_2_NOSTEAM
[18:36:37] INIT: Registering script 'NativeTrainer.asi' (0x00007FF9AFD7A3C0)
[18:36:38] INIT: Registering script 'Nice Fly.asi' (0x00007FF9AFA42700)
[18:37:39] INIT: Pool 1 extended
[18:37:39] INIT: Pool 2 extended
[18:37:39] INIT: Pool 3 extended
[18:37:39] INIT: Pool 4 extended
[18:37:44] INIT: GtaThread collection size 188
[18:37:44] INIT: wnd proc 0x00000000FFFF09C3
[18:37:44] INIT: IDXGISwapChain 0x00007FF985C5EB48 (0x00007FF985AE1950)
[18:37:44] INIT: IDXGISwapChain set
[18:37:44] INIT: DX init started
我在游戏中按 F4 键可以看到如下所示的 Native Trainer UI:
使用 TCPView 看到的端口如下:
这些是我在 GTAV 游戏目录中为使用 modding 而保存的文件:
此外,当 GTAV 在游戏目录中没有脚本挂钩 v 文件并通过单击 GTAVLauncher.exe(而不是使用 renderdocui.exe)运行时,GTAV 使用的端口如下:
当我使用 renderdocui 捕获实用程序启动游戏时,我收到以下日志:
RENDERDOC: [19:11:10] core.cpp( 242) - Log - RenderDoc v0.27 x64 (NO_GIT_COMMIT_HASH_DEFINED) loaded in replay application
RENDERDOC: [19:11:55] win32_process.cpp( 307) - Log - Injecting renderdoc into process 10244
RENDERDOC: [19:11:56] remote_access.cpp( 389) - Log - Got remote handshake: GTAVLauncher () [10244]
RENDERDOC: [19:12:00] remote_access.cpp( 558) - Log - Got a new child process: 11544 38921
RENDERDOC: [19:12:07] remote_access.cpp( 558) - Log - Got a new child process: 2568 38923
RENDERDOC: [19:12:17] remote_access.cpp( 558) - Log - Got a new child process: 256 38923