Abaqus Subroutine Debugging with Debugger

Hello,
I would like to use VisualStudio or (better Visual Studio Code) to Debug a User Subroutine (Umat).
I know it would be easier using write(6,*) or write(7,*) commands, but lets assume i would like to use the debugger.

I know there is a build in Debugger for Abaqus for Subroutine and i think i am close.

So i created a file directory there i have a job.inp and user.for (umat-subroutine), the env-file was changed accordingly.

Now i am using:

abaqus debug job=job user=umat.for -standard

It is opening VisualStudio. I can see the standard.exe in the right corner and my job is paused.

So far so good. Now i am opening the umat.for file and create a breakpoint. The Debugger just skips this Breakpoint and runs thow, when i click run.

 

Any idea how to proceed? I am glad for any kind of help. Thanks

 

I found some ressources about this topic, unfortenetly its about older Abaqus versions or other Systems, but i would like to create it on my windows.

Here my ressources that i looked at:
- https://github.com/nasa/CompDam_DGD?tab=readme-ov-file#advanced-debugging

This LinkedIn artikel describes, that i have to add maybe something like a windows command that is doing the same like the linux command auto-safe-load-path? -->
- https://www.linkedin.com/pulse/debugger-abaqus-user-subroutines-marcin-wierszycki/
- https://www.researchgate.net/file.PostFileLoader.html?id=583370f2404854f4a3096aa8&assetKey=AS%3A430985079726083%401479766258778

*Edit:
I have a wrapper, that opens Visual Studio Code and Standard.exe is available, job is paused. So now i am looking for a fix for this Breakpoints.
 

 

The abaqus debug help= command shows:

Error: must use "-" syntax.  For example:
USAGE:
   abq debug <-executable> [] -job c1 ...
   abq debug cae [ -exe ker|gui ] ...
   abq debug [ -exe <>  [ -core <> ]]
OPTIONS:
   -db debugger    -- Debugger to launch
   -exe executable -- Executable to debug
   -stop function  -- Function to stop at
   -wait           -- Wait for license (if unavailable)
   -dbscript  -- Load custom debugger script at startup
   -dbargs "..."   -- Pass arguments to the debugger
EXAMPLES -- SOLVERS
   abq debug -pre       dbx  -job c1  ...
   abq debug -standard  cvd  -job c1  ...
   abq debug -standard  gdb  -job c1  -stop step_
   abq debug -exe solver -job c1 ...
   abq debug -exe standard -db msdev    -job c1
   abq debug -exe standard -db msdev10  -job c1
   abq debug -explicit       -job x1
   abq debug -explicit       -job x1  -double
   abq debug -explicit       -job x1  -recover
EXAMPLES -- CAE
   abq debug cae -exe ker ...
   abq debug cae -exe gui ...
EXAMPLES -- TEST PROGRAMS
   abq debug test cowT_String
Default debugger on this platform is:  devenv
Recognized executables:
  pre,package,standard,explicit,select,state,Calculator,Extrapolator,ker,gui,cse,solver
Recognized debuggers:
  devenv,msdev,msdev10,windbg,totalview,tvbeta,tvold,gdb,gdb64,dbx,cvd,wdb,ddd,idb"

 

 

The win86_64.env looks like this (just for the debugging):

#-*- mode: python -*-
#############################################################################
#                                                                           #
#     Compile and Link commands for ABAQUS on the Windows 64 Platform       #
#                                                                           #
#############################################################################
import os # <-- Debugging
os.environ['GLOBAL_ENABLE_FPE'] = 'TRUE' # <-- Debugging
# Location of the /include directory in the ABAQUS installation
abaHomeInc = os.path.abspath(os.path.join(os.environ.get('ABA_HOME', ''), os.pardir))
compile_cpp=['cl', '/c', '/W0', '/MD', '/TP',
            '/EHsc', '/DNDEBUG', '/DWIN32', '/DTP_IP', '/D_CONSOLE',
            '/DNTI', '/DFLT_LIC', '/DOL_DOC', '/D__LIB__', '/DHKS_NT',
            '/D_WINDOWS_SOURCE', '/DFAR=', '/D_WINDOWS', '/DABQ_WIN86_64', '%P',
            # '/O1', # <-- Optimization
            # '/Zi', # <-- Debug symbols
            '/I%I', '/I'+abaHomeInc]
compile_fmu=['win64CmpWrp', '-m64', '-msvc9', 'cl', '/LD', 
            '/D_WINDOWS', '/TC', '/W0',  '/I%I', '/I'+abaHomeInc]
## Fortran compile command for User Subroutines
compile_fortran=['ifx',
                '/c', '/fpp', '/extend-source', 
                '/DABQ_WIN86_64',  '/DABQ_FORTRAN',
                '/iface:cref', '/recursive',
                '/Qauto',  # <-- important for thread-safety of parallel user subroutines
                '/align:array64byte',
                '/Qpc64',                    # set FPU precision to 53 bit significand
                '/Qprec-div',                # improve precision of FP divides
                '/Qfma-',                    # disable floating point fused multiply-add
                '/fp:precise',               # floating point model: precise 
                #'/Qimf-arch-consistency:true', # math library consistent results
                '/Qfp-speculation:safe',     # floating point speculations only when safe
                '/Qprotect-parens',          # honor parenthesis during expression evaluation
                '/reentrancy:threaded',      # important for thread-safety
                #'/Qinit=zero','/Qinit=arrays',  # automatically initialize all arrays to zero
                #'/Qinit=snan', '/Qinit=arrays', # automatically initialize all arrays to SNAN
                '/QxSSE3', '/QaxAVX',        # generate SSE3, SSE2, and SSE instructions
                 '/Od', '/Ob0',  # <-- Disable Optimization for Debugging
                 '/Zi',          # <-- Debugging Information
                '/include:%I', '/include:'+abaHomeInc, '%P']
link_sl=['LINK',
        '/nologo', '/NOENTRY', '/INCREMENTAL:NO', '/subsystem:console', '/machine:AMD64',
        '/NODEFAULTLIB:LIBC.LIB', '/NODEFAULTLIB:LIBCMT.LIB',
        '/DEFAULTLIB:OLDNAMES.LIB', '/DEFAULTLIB:LIBIFCOREMD.LIB', '/DEFAULTLIB:LIBIFPORTMD.LIB', '/DEFAULTLIB:LIBMMD.LIB',
        '/DEFAULTLIB:kernel32.lib', '/DEFAULTLIB:user32.lib', '/DEFAULTLIB:advapi32.lib',
        '/FIXED:NO', '/dll',
        '/debug', # <-- Debugging
        '/def:%E', '/out:%U', '%F', '%A', '%L', '%B', 
        'oldnames.lib', 'user32.lib', 'ws2_32.lib', 'netapi32.lib',
        'advapi32.lib', 'msvcrt.lib', 'vcruntime.lib', 'ucrt.lib']
link_exe=['LINK',
         '/nologo', '/INCREMENTAL:NO', '/subsystem:console', '/machine:AMD64', '/STACK:20000000',
         '/NODEFAULTLIB:LIBC.LIB', '/NODEFAULTLIB:LIBCMT.LIB', '/DEFAULTLIB:OLDNAMES.LIB', '/DEFAULTLIB:LIBIFCOREMD.LIB',
         '/DEFAULTLIB:LIBIFPORTMD.LIB', '/DEFAULTLIB:LIBMMD.LIB', '/DEFAULTLIB:kernel32.lib',
         '/DEFAULTLIB:user32.lib', '/DEFAULTLIB:advapi32.lib',
         '/FIXED:NO', '/LARGEADDRESSAWARE',
          '/debug', # <-- Debugging
         '/out:%J', '%F', '%M', '%L', '%B', '%O',
         'oldnames.lib', 'user32.lib', 'ws2_32.lib', 'netapi32.lib',
         'advapi32.lib', 'msvcrt.lib', 'vcruntime.lib', 'ucrt.lib']
## Link command to be used for ABAQUS/MAKE on machines without the Fortran compiler.
## Uncomment it to enable.
#
#link_exe=['LINK', '/nologo', '/INCREMENTAL:NO', '/subsystem:console', '/machine:AMD64', '/NODEFAULTLIB:LIBC.LIB', '/NODEFAULTLIB:LIBCMT.LIB',
#          '/DEFAULTLIB:OLDNAMES.LIB', '/DEFAULTLIB:MSVCRT.LIB', '/DEFAULTLIB:kernel32.lib', '/DEFAULTLIB:user32.lib', '/DEFAULTLIB:advapi32.lib',
#          '/FIXED:NO', '/LARGEADDRESSAWARE', '/out:%J', '%F', '%M', '%L', '%B', '%O',
#         'oldnames.lib', 'user32.lib', 'ws2_32.lib', 'netapi32.lib',
#         'advapi32.lib', 'msvcrt.lib', 'vcruntime.lib', 'ucrt.lib']
# Remove the temporary names from the namespace
del abaHomeInc