.Netアプリケーションの実行時情報(どのメソッドが呼び出されているかなど)を監視する方法を誰かが知っているかどうか知りたいと思いました。
別の実行中のプロセスから特定のメソッドで実行する追加のコードを挿入します。
私は2つのアプリケーションを持っていると言います:
app1.exeは、簡単にするために
class Program
{
static void Main(string[] args)
{
while(true){
Somefunc();
}
}
static void Somefunc()
{
Console.WriteLine("Hello World");
}
}
そして、アプリケーション1のSomefunc()が実行されていることを検出して、独自のコードを挿入できるようにしたい2番目のアプリケーションがあります。
class Program
{
static void Main(string[] args)
{
while(true){
if(App1.SomeFuncIsCalled)
InjectCode();
}
}
static void InjectCode()
{
App1.Console.WriteLine("Hello World Injected");
}
}
したがって、結果はアプリケーション1に表示されます
Hello World
Hello World Injected
私はそれがこれほど単純ではないことを理解しています(長い目で見れば)が、それが可能であるかどうか、そしてそれがどこから始めるべきかさえわかりません。
助言がありますか ?
私はJavaで同様のことが行われているのを見てきましたが、C#では決してありません。
編集:明確にするために、これの使用法は、私がソースコードにアクセスできない.Netベースのゲームにプラグインシステムを追加することです。