1)Pythonインタプリタを特定の関数から返すときに、Python C APIのプロファイリング関数を使用してキャッチしたいと考えています。Python C API - 実行を停止する(そして後で続ける)
2)Pythonインタプリタを一時停止し、C++プログラムでインタプリタを呼び出した関数に実行を戻し、最後にPythonインタプリタに実行を戻し、停止した後のコード行で開始したい。実行がPythonに属する時代の間にグローバルとローカルの両方を維持したいと思います。
パート1終了しました。パート2は私の質問です。私は何を保存すべきかわからないので、私は実行に戻ることができる、または保存されたデータを与えられた実行に戻る方法。
私はPython APIのドキュメントから降りることができたので、実行中のフレームの一部を保存する必要がありますが、何も見つかりませんでした。いくつかの追加の質問... PyFrameObjectには正確に何が含まれていますか?驚くべきことに、Python APIのドキュメントはそれを決して説明しません。
'SIGSTOP' /' SIGCONT'を使ってみましたか? – Daenyth
私のPythonインタプリタは私のC++プログラムと同じスレッドで実行されています...そのスレッド内で実行を渡し、プロセス全体を停止しないようにしてください...おそらく、SIGSTOPとSIGCONTの影響を完全に理解していないかもしれません私のプログラムで?もしそうなら、説明してください。 – Miles