Gỡ lỗi với các tham số dòng lệnh trong Visual Studio


513

Tôi đang phát triển một ứng dụng dòng lệnh C ++ trong Visual Studio và cần gỡ lỗi nó bằng các đối số dòng lệnh. Hiện tại tôi chỉ chạy tệp EXE được tạo với các đối số tôi cần (như thế này program.exe -file.txt), nhưng theo cách này tôi không thể gỡ lỗi. Có nơi nào tôi có thể chỉ định các đối số để gỡ lỗi?


Câu trả lời:


754

Có, nó nằm trong phần Gỡ lỗi của trang thuộc tính của dự án.

Trong Visual Studio từ năm 2008: nhấp chuột phải vào dự án , chọn Thuộc tính , đi đến phần Gỡ lỗi - có một hộp cho "Đối số lệnh". (Mẹo: không phải giải pháp, mà là dự án).


296
Stackoverflow là tài liệu MS duy nhất có thể sử dụng!
Martin Beckett

12
Hãy cẩn thận với điều đó. Điều này sẽ không thay đổi tệp dự án thực tế, nhưng thay vào đó là tệp vcxproj.user.
TheTrowser

Lưu ý: nếu bạn có nhiều dự án trong một giải pháp, hãy nhớ nhấp chuột phải vào dự án bạn sẽ chạy và "Đặt làm Dự án StartUp".
Sư tử Lai

1
Tại chỗ trên. Nhưng rõ ràng trong VS2017, nó không được gọi là "Gỡ lỗi", mà là "Gỡ lỗi". Chúng ta có thể không bao giờ biết tại sao.
OmarL

3
Đảm bảo rằng bạn có Cấu hình chính xác được chọn trong danh sách thả xuống ở đầu trang Thuộc tính, nghĩa là cùng cấu hình với cấu hình bạn đang cố chạy.
Steve Smith

55

Câu hỏi thường gặp về Mozilla.org về gỡ lỗi Mozilla trên Windows rất đáng quan tâm ở đây.

Nói tóm lại, trình gỡ lỗi Visual Studio có thể được gọi trên một chương trình từ dòng lệnh, cho phép một người chỉ định các đối số dòng lệnh khi gọi một chương trình dòng lệnh, trực tiếp trên dòng lệnh.

Điều này trông giống như sau đối với Visual Studio 8 hoặc 9 (Visual Studio 2005 hoặc Visual Studio 2008, tương ứng)

  devenv / debugexe 'tên chương trình' 'đối số chương trình'

Cũng có thể có một hành động thám hiểm để bắt đầu một chương trình trong trình gỡ lỗi Visual Studio.


17

Ngay cả khi bạn bắt đầu thực thi bên ngoài Visual Studio, bạn vẫn có thể sử dụng lệnh "Đính kèm" để kết nối Visual Studio với tệp thực thi đang chạy của bạn. Điều này có thể hữu ích, ví dụ như khi ứng dụng của bạn được chạy dưới dạng bổ trợ trong một ứng dụng khác.


Đúng, đính kèm với Ctrl+Alt+P(hoặc nhấp vào "Gỡ lỗi"> "Đính kèm để xử lý ..."). Nhưng điều này không thực sự trả lời câu hỏi OP;)
T_D

7

Microsoft Visual Studio Ultima 2013.

Bạn chỉ có thể đi vào menu DEBUG → Main Thuộc tínhthuộc tính cấu hìnhDebugging và sau đó bạn sẽ thấy hộp cho các đối số dòng lệnh.

Trên thực tế, bạn có thể đặt cùng một đối số đầu vào cho tất cả các cấu hình khác nhau và không chỉ để gỡ lỗi.

Từ menu kéo xuống của cấu hình, chọn: Tất cả Cấu hình và chèn các đối số đầu vào (mỗi đối số được phân tách bằng dấu cách).

Bây giờ, bạn có thể thực thi chương trình của mình ở các chế độ khác nhau mà không phải thay đổi các đối số đầu vào mỗi lần.


Nó cũng hoạt động như vậy trong MS VS 2015. Trước khi tôi hướng đến "Thuộc tính gỡ lỗi-> {tên dự án}", tôi phải mở "Trình quản lý cấu hình" có thể truy cập thông qua Dropdown chứa mặc định "Gỡ lỗi" và "Phát hành". Một cửa sổ bật lên nơi tôi có thể thêm các mục "Cấu hình" mới. Các mục này có sẵn trong các thuộc tính "Gỡ lỗi -> {projectname}".
AMartinNo1

2

Điều này có thể giúp một số người vẫn còn vấn đề. Tôi sử dụng Visual Studio 2015 và tôi chỉ có thể vượt qua các đối số khi tôi thay đổi định nghĩa argv.

Thay vì

int main(int argc, char **argv){
}

Tôi đã phải sử dụng

int main(int argc, char *argv[]){
}

Tôi không biết tại sao nó lại cần thiết, nhưng nó hoạt động.


Cái này là cái gì? C ++ bản địa? C ++ được quản lý (.NET)?
Peter Mortensen

Có cùng một vấn đề nhưng cả hai tuyên bố nêu trên đều không hoạt động. Giải pháp đã thay đổi nền tảng từ x86 sang x64 vì tôi đang làm việc trên máy 64 bit.
hfrmobile

2

Trong Visual Studio 2017 với ứng dụng bảng điều khiển .NET Core, hãy làm như sau:

Nhấp chuột phải vào Dự án trong cửa sổ Giải pháp , chọn "Thuộc tính", Gỡ lỗi (ở phía bên trái) và nhập các đối số vào trường "Đối số ứng dụng" .

Lưu ý rằng chúng nên được phân tách không gian.


1

Trong Visual Studio 2010, bấm chuột phải vào dự án, chọn Thuộc tính , bấm vào phần cấu hình thuộc tính ở khung bên trái, sau đó bấm Gỡ lỗi , sau đó trên khung bên phải có một hộp cho các đối số lệnh.

Trong đó nhập các đối số dòng lệnh. Bạn tốt để đi. Bây giờ gỡ lỗi và xem kết quả. Nếu bạn cảm thấy mệt mỏi với việc thay đổi thuộc tính thì tạm thời cung cấp đầu vào trực tiếp trong chương trình.


1

Nhấp chuột phải vào dự án trong cửa sổ Giải pháp của Visual Studio, chọn "Gỡ lỗi" (ở phía bên trái) và nhập các đối số vào trường "Đối số lệnh" :

Nhập mô tả hình ảnh ở đây


1

Với VS 2015 trở lên, Sử dụng tiện ích mở rộng Đối số dòng lệnh thông minh . Trình cắm này thêm một cửa sổ cho phép bạn bật và tắt đối số:

Giao diện đối số dòng lệnh thông minh

Phần mở rộng cũng lưu trữ các đối số trong tệp JSON, cho phép bạn cam kết chúng kiểm soát nguồn. Ngoài việc đảm bảo bạn không phải nhập tất cả các đối số mỗi lần, điều này đóng vai trò là phần bổ sung hữu ích cho tài liệu của bạn để các nhà phát triển khác khám phá các tùy chọn có sẵn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.