2012-06-24 9 views
15

Mẫu dự án C# "Metro style" mặc định của VS2012 bao gồm mã trong App.xaml.cs (trong ghi đè OnLaunched) để khôi phục trạng thái ứng dụng sau khi tạm ngừng và chấm dứt. Mã này chỉ chạy khi LaunchActivatedEventArgs.PreviousExecutionStateTerminated, tức là "Ứng dụng đã bị chấm dứt sau khi bị tạm ngưng".Làm cách nào để mô phỏng ứng dụng Metro của tôi bị chấm dứt?

Làm cách nào để buộc ứng dụng của tôi bị tạm ngưng và chấm dứt, vì vậy tôi có thể thử nghiệm chức năng tạm ngưng/tiếp tục này trong ứng dụng của mình?

Những điều tôi đã cố gắng mà không có tác dụng:

  • Nếu tôi sử dụng các "ứng dụng gần" cử chỉ (kéo từ phía trên cùng của màn hình xuống dưới), sau đó chạy tới PreviousExecutionStateClosedByUser .
  • Nếu tôi giết ứng dụng - hoặc bằng cách sử dụng Trình quản lý tác vụ hoặc (nếu tôi đang gỡ lỗi) bằng nút "dừng" trên thanh công cụ VS - thì lần chạy tiếp theo là PreviousExecutionStateNotRunning. Điều này đúng ngay cả khi Task Manager hiển thị ứng dụng là "Bị treo" trước khi tôi kết thúc tác vụ, do đó rõ ràng nó có nhiều sắc thái hơn so với mô tả "chấm dứt sau khi bị tạm ngưng".
  • Bạn muốn nghĩ Tôi chỉ có thể chuyển đổi khỏi ứng dụng của mình và sau đó mở nhiều ứng dụng kiểu Metro khác cho đến khi ứng dụng của tôi cuối cùng bị loại bỏ. Nhưng ngay cả khi tôi mở tất cả các ứng dụng kiểu Metro đơn lẻ đi kèm với Bản xem trước bản phát hành Windows 8, điều đó dường như không đủ áp lực bộ nhớ để làm cho Windows chấm dứt ứng dụng của tôi. (Tôi cho rằng Windows sẽ ít có khả năng chấm dứt một ứng dụng đã được gỡ lỗi, vì vậy tôi đã khởi chạy ứng dụng của mình từ màn hình Bắt đầu - không có trình gỡ lỗi - trước khi tôi thử điều này.)

Có vẻ như, nếu Tôi chuyển đổi khỏi ứng dụng của mình và nhập vào cửa sổ StackOverflow trong vài phút, rằng ứng dụng của tôi cuối cùng sẽ bị chấm dứt, vì vậy có lẽ có một thành phần dựa trên thời gian cho nó. Nhưng nếu tôi phải chờ năm hoặc mười phút mỗi lần ứng dụng của tôi chấm dứt, đó là một chu kỳ kiểm tra khá chậm.

Vì đây là điều mà các nhà phát triển sẽ phải thử nghiệm, bạn nghĩ sẽ có một cách dễ dàng, dễ dàng để một nhà phát triển buộc ứng dụng phải tạm ngưng và chấm dứt. Có một số loại ứng dụng thử nghiệm ứng suất đi kèm với Visual Studio sẽ buộc áp lực bộ nhớ đủ không? Có một số mục menu trong Visual Studio sẽ buộc chấm dứt ứng dụng của tôi không? Làm thế nào chúng ta phải thử nghiệm điều này?

+0

Nếu bạn vẫn muốn kiểm tra hành vi của các ứng dụng bị "đuổi ra khỏi", bạn luôn có thể tạo ra các ứng dụng thế giới 3 hoặc 4 chào mà phân bổ "đủ bộ nhớ" để có được hệ thống của bạn thiếu tài nguyên. – yms

Trả lời

27

Trong Visual Studio 2012, khi bạn đang gỡ lỗi, có các nút "Tạm dừng", "Tiếp tục" và "Tạm ngừng và tắt máy". Theo mặc định, bạn sẽ thấy các nút trong khi đang gỡ lỗi ứng dụng của mình. Xem this article để biết thêm thông tin về vòng đời xử lý gỡ lỗi.

enter image description here

+1

Tôi không thể tin được bao nhiêu lần tôi nhìn và không nhìn thấy nó. Nó nằm trên hàng thứ hai * của thanh công cụ, và vì một lý do nào đó mắt tôi cứ nhảy qua ngay cả hàng thứ hai đó, ngay cả với ảnh chụp màn hình của bạn. Đoán rằng đó là nhược điểm của cái nhìn "không màu" mới: không có tín hiệu trực quan để gợi ý có nhiều điều để nhìn vào. –

+0

@ JoeWhite Đồng ý ... Tôi cũng đang dần tìm hiểu giao diện mới. Phải mất thời gian để tìm nút mà tôi biết chính xác họ đã ở đâu trước đó. :) –

+7

Đối với những người tự hỏi làm thế nào để hiển thị thanh công cụ này, hãy vào View -> Toolbar -> Debug Location. – Ucodia

6

tôi đã khó khăn khi tìm các Đình chỉ kiểm soát vì VS đã không hiển thị một hàng thứ hai của thanh công cụ cho tôi. Khi nó quay ra, đây là trên thanh công cụ "Debug Location". Hãy chắc chắn rằng bạn đã bật thanh công cụ này và sau đó bạn sẽ có thể tìm thấy điều khiển Đình chỉ (và nó hoạt động để giải quyết vấn đề của OP).

3

Nếu họ không hiển thị theo mặc định, vào Tools -> Customize, và dưới tab Toolbars, đánh dấu vào ô mà nói "Debug Location"