2012-06-26 27 views
9

Tôi đã viết một chương trình trong vC++ có hành vi khác nhau trong các trường hợp khác nhau như dưới đây.Điểm khác biệt giữa studio ảnh F5, ctrl + F5 hoặc chạy bên ngoài studio trực quan là gì?

Khi tôi chạy nó bằng F5, nó hoạt động bình thường trong chế độ phát hành.

Khi tôi chạy nó bằng ctrl + F5, nó bị treo khi tôi bắt đầu gửi dữ liệu đến chương trình.

Bên ngoài phòng thu trực quan, nó gặp sự cố ngay lập tức.

Tôi không biết cách tìm lỗi. Bất kỳ ý tưởng nào về các trường hợp này là gì?

+2

Lý do thông thường là biến chưa được khởi tạo nhận các giá trị ngẫu nhiên khác nhau tùy thuộc vào cách chương trình được bắt đầu. –

+0

điều này phụ thuộc vào môi trường var? làm thế nào tôi có thể theo dõi lỗi. –

+0

Nó cũng có thể phụ thuộc vào môi trường. Hoặc nó bắt đầu trong các thư mục khác nhau (nếu bạn sử dụng bất kỳ tệp nào). Nếu không, bạn có thể có một cái gì đó như 'int i;', trong đó 'i' được sử dụng trước khi được gán một giá trị. –

Trả lời

5

Bạn cần hiểu sự khác biệt giữa việc chạy ứng dụng ở chế độ gỡ lỗi và chế độ phát hành. F5 nói chung sẽ giúp bạn gỡ lỗi ứng dụng và ctrl + F5 sẽ thực thi ứng dụng. Có thể có một số vấn đề trong chế độ phát hành khiến cho sự cố của bạn bị lỗi. Đọc this để hiểu.

+0

cảm ơn nhưng quesion của tôi là tất cả về chế độ phát hành một thời gian trong chế độ phát hành nghiền (F5 + ctrl) hoặc ra khỏi VC và F5 làm việc peroperly. –

+0

@herzlshemuelian: bạn đang cố gắng gỡ lỗi trong chế độ phát hành – Jeeva

+0

beacuse điều này happend chỉ trong chế độ phát hành (ctrl + F5 và không phải trong F5) Tôi phải làm điều đó. –

9

Chạy ctrl + F5 sẽ chạy ứng dụng mà không cần trình gỡ lỗi. (http://msdn.microsoft.com/en-US/library/8b59xk0f(v=vs.90).aspx) Điều này không giống như đang chạy ở chế độ phát hành.

Bạn có thể chạy ứng dụng của mình ở chế độ gỡ lỗi nhưng không có trình gỡ lỗi. Nghe có vẻ ngu ngốc nhưng là ví dụ hữu ích nếu bạn muốn ngăn điều khiển đóng khi thoát. (How to stop console from closing on exit?)

Các vấn đề liên quan