Running External Programs under a Debugger

The Wolfram Symbolic Transfer Protocol (WSTP) allows you to run external programs under whatever debugger is provided in your software environment.

WSTP-compatible programs are typically set up to take arguments, usually on the command line, which specify what WSTP connections they should use.

Running an external program under a debugger.

Note that in order to get a version of an external program that can be run under a debugger, you need to compile the program so that the output is suitable for use with your debugger. Unix compilers commonly use -g as a command-line argument for producing a debuggable program. See your compiler documentation for specific information on the steps you should take.

Set a breakpoint in the C function f.

break f
Breakpoint set: f: line 1

Start the external program.

run -linkcreate -linkprotocol TCPIP

The program responds with what port it is listening on.

Link created on: 2981@frog.wolfram.com,2982@frog.wolfram.com

This connects to the program running under the debugger:

Install[LinkConnect["2981@frog.wolfram.com,2982@frog.wolfram.com",LinkProtocol->"TCPIP"]]

This calls a function that executes code in the external program:

f[16]

The external program stops at the breakpoint.

Breakpoint: f(16)

This tells the debugger to continue.

continue

Now f returns.