Opening/Reading crash dumps

Hi, my mod crashes the game, but apparently there’s a crash dump. How do I check this crash dump?

1 Like

Drag the .dmp file to Visual Studio.

If it’s a client-side modification, you might be interested in porting it to work server-side.

  • For C# modifications, use CitizenFX.Core.
  • For C++ modifications, there’s an Emscripten-based compatibility layer, contact your technical account manager for more details on the ScriptHook compatibility EAP.

If it is a modification to work with software/tooling you’re developing that works standalone (or otherwise doesn’t make sense to run server-side), contact @root to discuss options for client extensibility implementations.

ViSH compatibility is scheduled to be removed in a future release.

2 Likes

Thanks. It’s just a C++ client-side modification, to allow users to use their steering wheel devices to play the game. It nulls a few instructions that control the vehicle gearbox and accesses a few vehicle members directly, without using the ScriptHookV API. For other things, it does use the API.

I’ve always had trouble finding a few things so I think I’ll just give up supporting FiveM for a while, and see what’s possible in the future.

Would it be viable for you to develop (a variant of) this as a default-shipped out-of-tree CitizenFX component once there is a minimal native component SDK?

This seems like a feature that’d be neat to integrate into the mainline distribution once the source code resynchronization is completed, as various other input system improvements are planned as well.

I’m going to guess your modification ended up crashing due to divergence of the game version snapshot used for Cfx and the one you’re targeting yourself, however.

1 Like

It depends on what it should be doing, but I might. I am planning to rewrite the current input handling to be more generic to allow for non-wheel inputs too.

The crashing is probably caused by Cfx modifications(?) and not the snapshot version, as I’ve tried to keep things backwards-compatible. Most specifically: in GTA V’s build 1.0.393.2 (Social Club) the offset to the pointer for the wheels is at 0xAA0 from the vehicle pointer, while in FiveM (which reports itself as build 1.0.393.2 (Social Club) too) this is at 0xA90.

Aside from that, some instructions that are scanned for also give false positives. I’m re-acquiring some older build though, to double check.

If ViSH still reports the 393.2 version number, this is indeed a bug and incorrect, it should report itself as 505.2 retail.

I-we don’t know what your current modification is doing, however any general game improvements would be a neat addon for the game itself, and as mentioned above there’s a few input system rewrites/improvements pending including proper configuration UI and whatnot for these changes (XB1 controller impulse trigger support, custom input types for use by scripts that are rebindable, …), and a gear system or support for different analog control types or whatever you are doing does seem like a baseline feature that wouldn’t make sense to replicate server-side but should not be gotten rid of when ViSH (the client-side ScriptHookV compatibility layer) gets removed.

In addition, if you’re doing runtime patching of code, or accessing specific entries in vehicle state, it might indeed be you’re better off long-term as a native Cfx component.

Ah, okay. It’s still odd, but much more plausible since my mod didn’t exist before that yet and I just assumed that pointer had the same offset-version pattern the others had.

My mod - the source code is available. It would be a great thing if alternative inputs were mappable, but due to some of these incompatibilities of my code with 1.0.505.2, the mod isn’t available to FiveM players. Something I hoped to address.

Out of curiosity - in what extent does the new client side scripting allow such modifications? I don’t know if rewriting it to C# for CitizenFX.Core (or ScriptHookVDotNet) would be worth it.

And yes - I’m doing some runtime patching and some entries are constantly accessed, both read and write.