0

状態をシミュレートしたいApplicationExecutionState.Terminated

私は次のことを行っています
1.アプリの起動
2.デスクトップに移動し、アプリが一時停止状態になるのを待ち
ます 3.タスクマネージャーからタスクの終了を使用してアプリを強制終了します。

このアプリケーションはデモンストレーションに使用され、以前はコンシューマー プレビューでした。その時、上記の手順はうまくいきました。

現在、Windows 8 RTM では、上記の手順を使用しApplicationExecutionStateNotRunning.

状態を知りたいのですがTerminated


1. シミュレーターを使用して、まずアプリを一時停止してから、シミュレーターからログオフすることを既に認識しています。
2. Windows にメモリ負荷をかける。このようにして、アプリは自動的に終了します。問題は、メモリに圧力をかける方法がわからないことです。

4

2 に答える 2

2

Suspend and shutdownデバッグ中にその他のプロセスの有効期間管理イベントをトリガーするにはDebug Location、Visual Studio のツール バーを使用します。ドロップボックスの横にはProcess、上記のコマンドを含むドロップダウン ボタンがあります。

プロセス ライフサイクル管理コマンド

これを機能させるためにシミュレーターを使用する必要はありません。同様に、ローカル マシンでアプリを実行することもできます。

この MSDN 記事のドロップダウン ボタンで、これと他のコマンドの詳細を読むことができます。

于 2013-03-08T20:05:36.610 に答える
1

このマイクロソフト フォーラムの質問から:

終了とは、アプリが最初に中断され、次にユーザー セッションが正常に終了したことを意味します。

デバッガーでこれをシミュレートするには、アプリをシミュレーターで実行してから、中断をトリガーします (デバッグ、トリガーの中断)。その後、シミュレーターからログオフできます。次に、デバッガーでシミュレーターを再度起動すると、以前の「終了」状態から来たという状態に達したことがわかります。

または、 winrt.codeplex.comで入手できるツールを使用することもできます。

[更新: 2013 年 3 月 11 日 @ 11:02PST]

Windows 8 のアプリ ライフサイクルでは、ApplicationExecutionState列挙はプロセスが最後に終了したときのアプリの状態を示していることを理解することが重要です (いくつかのオブジェクトのPreviousExecutionStateプロパティを介して)。

この状態をシミュレートする唯一の方法は、アプリを一時停止し、ログオフして再度ログインし、アプリを再起動することです。または、利用可能な物理 RAM のかなりの部分を消費する可能性があるアプリを使用または作成することで、負荷がかかっているシステムをシミュレートできます。 、中断されたアプリを強制終了することにより、Windows にリソースの再利用を試みさせます。

マシンにストレスを与えて大量のメモリを消費するなどの場合は、Windows SDK に含まれている consumer.exe コマンドライン アプリを使用するか、James McCaffrey の EatMem ツールを使用できます。

于 2013-03-08T10:52:50.680 に答える