RemedyBG»Forums
Jason
235 posts
Remedy enters dissasembly window when entering any function call

I know breaking into the disassembly window can happen if your program tries to call out to some outside system dll with no pdb file (ntdll for example), however this is currently happening for every function call I step into with F11. This is occurring with themachinery project which is built from a premake file (which also creates a visual studio solution). The modules window shows that my pdb files are loaded and I can still view things in the watch window and step over fine (F10). Here's the relevant information:

cl.exe version - 19.26.28805

remedy version - 0.3.6.3

compiler options produced by premake file:

/c /IW:\THEMACHINERY /I"W:\THEMACHINERY\LIB\ASSIMP-5.1.2-WIN64\INCLUDE" /Zi /JMC /nologo /W4 /WX /diagnostics:column /Od /Ob2 /D TM_OS_WINDOWS /D _CRT_SECURE_NO_WARNINGS /D TM_CPU_X64 /D TM_CPU_AVX /D TM_CPU_SSE /D TM_CONFIGURATION_DEBUG /D DEBUG /D TM_LINKS_FOUNDATION /D _UNICODE /D UNICODE /Gm- /EHsc /RTC1 /MTd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"OBJ\WIN64\DEBUG\\" /Fd"OBJ\WIN64\DEBUG\VC142.PDB" /Gd /TC /wd4057 /wd4100 /wd4152 /wd4200 /wd4201 /wd4204 /wd4206 /wd4214 /wd4221 /wd4702 /wd4189 /FC /utf-8 W:\THEMACHINERY\GAME_PROJECT\SOURCE\START.C

linker options:

/OUT:"..\..\BIN\DEBUG\START.EXE" /INCREMENTAL:NO /NOLOGO /LIBPATH:W:\THEMACHINERY\LIB\VS2019\DEBUG /LIBPATH:W:\THEMACHINERY\BIN\DEBUG /LIBPATH:"W:\THEMACHINERY\LIB\ASSIMP-5.1.2-WIN64\LIB" /WX FOUNDATION.LIB KERNEL32.LIB USER32.LIB GDI32.LIB WINSPOOL.LIB COMDLG32.LIB ADVAPI32.LIB SHELL32.LIB OLE32.LIB OLEAUT32.LIB UUID.LIB ODBC32.LIB ODBCCP32.LIB /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG:FULL /PDB:"..\..\BIN\DEBUG\START.PDB" /SUBSYSTEM:WINDOWS /TLBID:1 /ENTRY:"mainCRTStartup" /DYNAMICBASE /NXCOMPAT /IMPLIB:"..\..\BIN\DEBUG\START.LIB" /MACHINE:X64 /ignore:4099 OBJ\WIN64\DEBUG\START.OBJ

it seems the main ones are there: /INCREMENTAL:NO /DEBUG:FULL /Od so not sure what the issue is.

311 posts / 1 project
None
Remedy enters dissasembly window when entering any function call

This is caused by the /JMC compiler option.

https://docs.microsoft.com/en-us/cpp/build/reference/jmc?view=msvc-170

The Visual Studio Just My Code settings specify whether the Visual Studio debugger steps over system, framework, library, and other non-user calls. The /JMC compiler option enables support for Just My Code debugging in your native C++ code. When /JMC is enabled, the compiler inserts calls to a helper function, __CheckForDebuggerJustMyCode, in the function prolog. The helper function provides hooks that support Visual Studio debugger Just My Code step operations.

We could consider supporting this option at some point but for now removing /JMC will fix the problem you are seeing.

Thanks Jason.

Jason
235 posts
Remedy enters dissasembly window when entering any function call
Replying to x13pixels (#26014)

Oh perfect. Seems like it might be a useful thing to support but obviously not essential. Thanks man!