Lỗi: Build multi-thread in Visual Studio

Chào mọi người, như đã biết thì trong Visual Studio 2013 có 2 phím tắt để thực thi 1 chương trình là:
+ F5: Start Debugging
+ Ctrl+F5: Start Without Debugging
Mình đang làm một đồ án nhưng chỉ chạy “đúng” khi sử dụng “F5”. Còn lúc “Ctrl+F5” (đồng nghĩa với việc build ra exe rồi mới thực thi) thì vẫn chạy được nhưng KHÔNG ĐÚNG. Mình đang không hiểu lí do vì sao. Có một nghi vấn là do code mình có sử dụng multithreading (đa luồng) nên mình không biết phải tại nó không. Tại vì mình code không có thread rất ổn kể cả build kiểu gì. Nhưng khi mình đưa thread vào nhằm xử lí nhanh hơn thì xảy ra lỗi này, Mong mọi người giúp đỡ :((
À còn một lỗi gần giống vậy nữa là khi chạy bằng “F5” thì ok. Nhưng build ra exe rồi mở file exe đó thì kết quả hoàn toàn khác nhauuu !! @@

Code mô phỏng:

main{
      //Tạo luồng để xử lí cho mỗi Client connect vào...
}

void (Hàm xử lí khi gọi luồng){
    bla bla.....
}

code build debug tất nhiên sẽ có sự khác biệt với build release rồi. Khi build release thì code sẽ qua 1 trình tối ưu và loại bỏ debug symbol đi. Do đó exe release sẽ chạy nhanh hơn so với exe debug và cũng vô tình lòi cái lỗi của bạn ra.
Chốt, không có code thì cũng không thể nói được gì nhưng bạn nên dò lại 1 lượt xem sao. Nói chung là vấn đề nó vẫn nằm ở đó, chỉ là do may mắn nên lúc debug chưa lòi ra mà thôi.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?