này là khá trần xương, có nghĩa là để chỉ nhận được chương trình đi để tôi có thể gỡ lỗi những phần phức tạp hơn:Tại sao chương trình của tôi không thể mở tệp khi gỡ lỗi trong VS2013?
//open file
cout << "Input File Name: ";
string fileName;
cin >> fileName;
ifstream file;
file.open(fileName, ios_base::in);
if (!(file.good())){
cout << "File Open Error\n";
return 0;
}
Chương trình biên dịch tốt. Nếu tôi thực thi debug thực thi từ \ Projects \ [project này] \ Debug \ [program] .exe bằng cách nhấn đúp hoặc duyệt qua cmd, nó sẽ mở file (được lưu trong cùng thư mục đó) và phần còn lại của chương trình hums cùng độc đáo (cho đến khi nó được đến các phần buggy tôi thực sự muốn gỡ lỗi, anyways).
Tuy nhiên, nếu tôi cố gắng 'Bắt đầu gỡ lỗi' từ trong VS2013, lỗi trên không thành công; nó in lỗi và đóng ngay lập tức. Cửa sổ cmd mà chương trình đang thực thi khi trong chế độ gỡ lỗi của khóa học hiển thị thư mục trong vùng tiêu đề, và nó chắc chắn là cùng một thư mục, nhưng tôi đoán nó đang tìm tập tin ở đâu đó khác. Tôi đã thử sao chép nó vào thư mục gốc, không có niềm vui ở đó. Tôi chắc chắn điều này chỉ làm việc tốt trong các phiên bản trước của VS, nhưng có lẽ tôi chỉ là não-farting ở đây. Bất kỳ ý tưởng?
Thư mục làm việc mặc định để khởi động chương trình đang chạy trong trình gỡ lỗi studio trực quan là thư mục * project * (nơi tệp vcprojx của bạn được đặt). Tiêu đề bạn thấy là đường dẫn của tệp thực thi; không phải thư mục làm việc. Chỉ định đường dẫn đầy đủ trong đầu vào của bạn hoặc thay đổi cài đặt dự án thành thư mục làm việc bạn muốn, * sau đó * kích hoạt quá trình trong trình gỡ lỗi. – WhozCraig
Khi bạn chạy/gỡ lỗi chương trình từ Visual Studio, thư mục hiện tại là thư mục dự án. –
Bởi vì nó là microsoft. Họ viết phần mềm để làm gián đoạn các nhà phát triển và thu thập thông tin tình báo về những gì mọi người đang viết mã. Họ không quan tâm đến việc tạo điều kiện cho các nhà phát triển, nếu họ đã làm mất đi sự độc quyền của họ. Visual Studio được thiết kế để làm tê liệt và là một môi trường phát triển không hiệu quả vì nó có thể có thể. Thậm chí không có bất kỳ công cụ rò rỉ bộ nhớ sane/valgrind hoặc hệ thống hàng rào điện để săn lùng rò rỉ bộ nhớ. Windows phát triển là địa ngục. – Owl