15

VS2012 の既定の C# "Metro スタイル" プロジェクト テンプレートには、App.xaml.cs (OnLaunchedオーバーライド内) にコードが含まれており、サスペンド アンド ターミネート後にアプリケーションの状態を復元します。このコードLaunchActivatedEventArgs.PreviousExecutionStateTerminated、「アプリが一時停止後に終了された」場合にのみ実行されます。

アプリを強制的に中断および終了して、アプリでこの中断/再開機能をテストするにはどうすればよいですか?

私が試したことはうまくいきません:

  • 「アプリを閉じる」ジェスチャ (画面の上部から下部にドラッグ) を使用すると、次の実行PreviousExecutionStateClosedByUser.
  • タスク マネージャーを使用するか、(デバッグ中の場合は) VS ツールバーの [停止] ボタンを使用してアプリを強制終了すると、次の実行PreviousExecutionStateNotRunning. これは、タスク マネージャーがタスクを終了する前にアプリを「一時停止」と表示した場合でも当てはまるため、「一時停止後に終了」という説明よりも明らかに微妙です。
  • アプリから切り替えて、最終的にアプリが追い出されるまで、他の多くの Metro スタイル アプリを開くことができると思うかもしれません。しかし、Windows 8 Release Preview に同梱されているすべての Metro スタイル アプリを開いたとしても、Windows がアプリを終了させるほどのメモリ負荷にはならないようです。(デバッグ中のアプリを Windows が終了する可能性は低いと思われるため、これを試す前に、デバッガーなしでスタート画面からアプリを起動しました。)

アプリから離れて StackOverflow ウィンドウに数分間入力すると、アプリが最終的に終了するように見えるので、おそらく時間ベースのコンポーネントがあります。しかし、アプリが終了するまで毎回 5 ~ 10 分待たなければならない場合は、テスト サイクルがかなり遅くなります。

これが開発者がテストしなければならないものであることを考えると、開発者がアプリを強制的に一時停止して終了させる簡単で便利な方法があると思うでしょう。十分なメモリ プレッシャを強制する、Visual Studio に付属する何らかの種類のストレス テスト アプリはありますか? アプリを強制終了する Visual Studio のメニュー項目はありますか? これをどのようにテストすればよいでしょうか?

4

4 に答える 4

27

Visual Studio 2012 では、デバッグ中に [中断]、[再開]、および [中断してシャットダウン] ボタンがあります。デフォルトでは、アプリのデバッグ中にボタンが表示されます。プロセス ライフサイクルのデバッグの詳細については、この記事を参照してください。

ここに画像の説明を入力

于 2012-06-24T22:30:29.437 に答える
6

VSが2行目のツールバーを表示していなかったため、Suspendコントロールを見つけるのに苦労しました。結局のところ、これは「デバッグ場所」ツールバーにあります。このツールバーがオンになっていることを確認してください。そうすれば、サスペンドコントロールを見つけることができるはずです(そしてそれはOPの問題を解決するために機能します)。

于 2012-06-28T17:33:54.523 に答える
3

デフォルトで表示されない場合は、[ツール] -> [カスタマイズ] に移動し、[ツールバー] タブで [デバッグの場所] というボックスをオンにします。

于 2013-03-15T02:11:04.037 に答える
0

他の人が同じ理由で来た場合に備えて、VS 2013 を探していました。
ソース:

http://blogs.msdn.com/b/visualstudio/archive/2012/08/23/new-visual-studio-2012-debugging-features-for-the-windows-8-app-lifecycle-model。 aspx

忙しい猫

于 2015-01-18T00:15:45.693 に答える