Cannot debug the DLL

Leoreth

Blue Period
Moderator
Joined
Aug 23, 2009
Messages
37,060
Location
東京藝術大学
I'm using a new IDE setup, and I cannot debug the game using the debug DLL anymore. I can still attach the IDE to a debug DLL, but as soon as a break occurs (both due to a genuine crash or by using the "debug" button when an assertion fails), the IDE detaches from the process and the game terminates.

Any idea why this might happen?

My setup: VS2019, Steam BtS, Windows 10. But I could reproduce the same behaviour with VS2012.

Here's the output of the debug session if it's of any use:
Spoiler :

'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Civ4BeyondSword.exe'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\apphelp.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32full.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp_win.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbase.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\boost_python-vc71-mt-1_32.dll'. Module was built without symbols.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\win32u.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\msvcp71.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ws2_32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\python24.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\msvcr71.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\binkw32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmm.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\version.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\windows.storage.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\profapi.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\powrprof.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\fltLib.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmmbase.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mss32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dsound.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\zlib1.dll'. Module was built without symbols.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\hapdbg.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\d3dx9_33.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\GameOverlayRenderer.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\psapi.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\mswsock.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\clbcatq.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\propsys.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\linkinfo.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntshrui.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\srvcli.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cscapi.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC Dawn of Civilization\Assets\CvGameCoreDLL.dll'. Symbols loaded.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dwmapi.dll'.
The thread 0x1b30 has exited with code 0 (0x0).
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\CoreMessaging.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WinTypes.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WinTypes.dll'.
'Civ4BeyondSword.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\WinTypes.dll'
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WinTypes.dll'.
'Civ4BeyondSword.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\WinTypes.dll'
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\AudioSes.dll'.
'Civ4BeyondSword.exe' (Win32): Loaded 'C:\Windows\SysWOW64\avrt.dll'.
The thread 0x3684 has exited with code 0 (0x0).
The thread 0x1804 has exited with code 0 (0x0).
The thread 0x1f54 has exited with code 0 (0x0).
The thread 0xc8c has exited with code 0 (0x0).
The thread 0x3584 has exited with code 0 (0x0).
The thread 0x2890 has exited with code 0 (0x0).
The thread 0x2cd0 has exited with code 0 (0x0).
The thread 0xee0 has exited with code 0 (0x0).
The thread 0x1c28 has exited with code 0 (0x0).
The thread 0x7f8 has exited with code 1073741855 (0x4000001f).
The thread 0x35e4 has exited with code 1073741855 (0x4000001f).
The thread 0x184c has exited with code 1073741855 (0x4000001f).
The thread 0x1cec has exited with code 1073741855 (0x4000001f).
The thread 0x1464 has exited with code 1073741855 (0x4000001f).
The thread 0x2dd4 has exited with code 1073741855 (0x4000001f).
The thread 0x8d0 has exited with code 1073741855 (0x4000001f).
The thread 0x2d34 has exited with code 1073741855 (0x4000001f).
The thread 0x25a0 has exited with code 1073741855 (0x4000001f).
The thread 0x2d84 has exited with code 1073741855 (0x4000001f).
The thread 0x688 has exited with code 1073741855 (0x4000001f).
The thread 0x118c has exited with code 1073741855 (0x4000001f).
The thread 0x2fd4 has exited with code 1073741855 (0x4000001f).
The thread 0x1a64 has exited with code 1073741855 (0x4000001f).
The thread 0x2ccc has exited with code 1073741855 (0x4000001f).
The thread 0x2f64 has exited with code 1073741855 (0x4000001f).
The thread 0x2dfc has exited with code 1073741855 (0x4000001f).
The thread 0x1e84 has exited with code 1073741855 (0x4000001f).
The thread 0x2d20 has exited with code 1073741855 (0x4000001f).
The thread 0x2648 has exited with code 1073741855 (0x4000001f).
The program '[944] Civ4BeyondSword.exe' has exited with code 1073741855 (0x4000001f).
 
Steam has an anti-cheat system where it crashes the game if somebody tries to apply a wallhack, infinite money or whatever. Sadly it also triggers on debuggers because inspecting the memory is a common cheat approach. Luckily you can remove the steam drm by using Steamless. Download it, apply it to the exe and you will get a new exe, which is precisely like the steam one except it's without the anti-cheat protection and you can use it when debugging the game. You can play with either because it's only an issue when debugging.
 
Oh thanks, good to know there's a straightforward explanation for this. Also the first time Steam's shenanigans ever actively annoyed me.
 
Top Bottom