デバッガ内で外部関数を実行する

Wolfram Symbolic Transfer Protocol (WSTP)はどんな種類のデバッガからも外部プログラムを走らせることを可能にする.

典型的なWSTP適合プログラムは普通コマンドラインから引数を取るように設定される.その引数はプログラムが利用すべきWSTP接続の種類を示す.

デバッガではrun -linkcreate -linkprotocol TCPIP
Wolfram言語ではInstall[LinkConnect["port",LinkProtocol->"TCPIP"]]

デバッガから外部関数を起動する

デバッガから外部プログラムを起動できるようにするには,プログラムをコンパイルして,出力がデバッガで使用するのに適したものにする必要がある.Unixコンパイラでは,デバッグ可能なプログラム生成のためのコマンドライン引数として通常 が使われる.手順に関する情報は,コンパイラのドキュメントを参照するとよい.

Unixデバッガ

C関数にブレークポイントを設定する.
break f
Breakpoint set: f: line 1
外部プログラムを開始する.
run -linkcreate -linkprotocol TCPIP 
プログラムはそのリスナであるポートに対応する.
Link created on: 2981@frog.wolfram.com,2982@frog.wolfram.com 

Wolframシステムセッション

デバッガから起動されたプログラムと接続する.
In[1]:=
Click for copyable input
Out[1]=
関数は外部プログラムのコードを実行する.
In[2]:=
Click for copyable input

Unixデバッガ

外部プログラムはブレークポイントで停止する.
Breakpoint: f(16) 
デバッガに実行を再開させる.
continue 

Wolframシステムセッション

が値を返す.
Out[3]=