レガシープロジェクトに慣れようとしています。ある特定の関数では、次のコードがあります。
public function update(userObj:Object):void
{
var comm2:CommManager;
comm2 = CommManager.getInstance();
comm2.statusManager.employeeStatus(employeeId);
}
キャッチするブレークポイントを設定することはできますが、対応するコードを表示するためにこれら2行のいずれかにトレースすることはできません。最初のケースでは、コールスタックの最上位は次のようになります。
comm::CommManager$/getInstance
次に、コールスタックの一番上に次のように表示されます。
comm::StatusManager/employeeStatus
どちらの場合も、出力ウィンドウに新しい行が表示されます。
Cannot display source code at this location.
このコードがどこから来ているのかをどうやって知ることができますか?私は外部リンクを知りませんが、それは確かに私を驚かせません。
補遺:CommManager.asには一致するAPIがありますが、キャッチしない対応するブレークポイントをその中に追加しました。また、ファイルの名前を変更すると、CommManagerタイプが見つからなかったというコンパイルエラーが発生します。これは、CommManager.asが部分的にしか使用されていないかのようです。CommManagerはBaseCommComponent(flash.events.EventDispatcherを拡張する)という名前のクラスを拡張しますが、BaseCommComponentにはCommManagerと同じ名前の関数はありません。