Unix で実行されているプログラムにコンパイルされた関数 foo() があるとします。
プログラムの実行中に、変更されたバージョンの foo() を含むオブジェクト ファイルを動的にロードすることにより、関数 foo を「置き換える」ことができますか?
私が過去に取り組んだ組み込みシステムでは、テキスト セグメントの保護を解除してから、基本的に foo() のアドレスを「パッチ」して、新しく変更された foo() を指すようにすることができました。
これは、顧客のサイトで時折、多くの特別な制約を伴うデバッグに使用されました。
これは Unix で可能ですか?