Debugging dengan parameter baris perintah di Visual Studio

513

Saya sedang mengembangkan aplikasi baris perintah C ++ di Visual Studio dan perlu men-debug-nya dengan argumen baris perintah. Saat ini saya hanya menjalankan file EXE yang dihasilkan dengan argumen yang saya butuhkan (seperti ini program.exe -file.txt), tetapi dengan cara ini saya tidak dapat men-debug. Apakah ada tempat saya dapat menentukan argumen untuk debugging?

Maciej Gryka
sumber

Jawaban:

755

Ya, itu ada di bagian Debugging pada halaman properti proyek.

Di Visual Studio sejak 2008: klik kanan proyek , pilih Properti , buka bagian Debugging - ada kotak untuk "Argumen Perintah". (Kiat: bukan solusi, tetapi proyek).

Lou Franco
sumber
297
Stackoverflow adalah satu-satunya dokumentasi MS yang dapat digunakan!
Martin Beckett
12
Hati-hati dengan itu. Ini tidak akan mengubah file proyek yang sebenarnya, tetapi file vcxproj.user sebagai gantinya.
TheTrowser
Catatan: jika Anda memiliki multi proyek dalam suatu solusi, jangan lupa klik kanan proyek yang ingin Anda jalankan dan "Set as StartUp Project".
Lion Lai
1
Spot on. Namun ternyata di VS2017 itu tidak disebut "Debugging", tetapi "Debug". Kita mungkin tidak pernah tahu mengapa.
OmarL
3
Pastikan Anda memiliki Konfigurasi yang benar dipilih di dropdown di bagian atas halaman Properti, yaitu konfigurasi yang sama seperti yang Anda coba jalankan.
Steve Smith
55

The Mozilla.org FAQ pada debugging Mozilla pada Windows adalah yang menarik di sini.

Singkatnya, debugger Visual Studio dapat dipanggil pada program dari baris perintah, yang memungkinkan seseorang untuk menentukan argumen baris perintah ketika memanggil program baris perintah, langsung di baris perintah.

Ini terlihat seperti berikut ini untuk Visual Studio 8 atau 9 (Visual Studio 2005 atau Visual Studio 2008, masing-masing)

  devenv / debugexe 'nama program' 'argumen program'

Dimungkinkan juga untuk memiliki tindakan penjelajah untuk memulai program di Visual Studio debugger.

grrussel
sumber
17

Bahkan jika Anda memulai executable di luar Visual Studio, Anda masih dapat menggunakan perintah "Lampirkan" untuk menghubungkan Visual Studio ke executable Anda yang sudah berjalan. Ini bisa bermanfaat misalnya ketika aplikasi Anda dijalankan sebagai plug-in dalam aplikasi lain.

MSalters
sumber
Yap, lampirkan dengan Ctrl+Alt+P(atau klik "Debug"> "Lampirkan untuk memproses ..."). Tetapi ini tidak benar-benar menjawab pertanyaan OP;)
T_D
7

Microsoft Visual Studio Ultima 2013.

Anda hanya bisa pergi ke menu DEBUG → Main Propertisifat KonfigurasiDebugging dan kemudian Anda akan melihat kotak untuk argumen baris perintah.

Sebenarnya, Anda dapat mengatur argumen input yang sama untuk semua konfigurasi yang berbeda dan tidak hanya untuk debugging.

Dari menu tarik turun konfigurasi, pilih: Semua Konfigurasi dan masukkan argumen input (setiap argumen dipisahkan oleh spasi).

Sekarang, Anda dapat menjalankan program Anda dalam mode yang berbeda tanpa harus mengubah argumen input setiap saat.

jorge
sumber
Agak bekerja seperti itu di MS VS 2015 juga. Sebelum saya menuju ke properti "Debug-> {projectname}" Saya harus membuka "Configuration Manager" yang dapat diakses melalui Dropdown yang berisi secara default "Debug" dan "Release". Sebuah jendela muncul di mana saya dapat menambahkan item "Konfigurasi" baru. Item-item ini tersedia di "Debug -> properti {projectname}".
AMartinNo1
2

Ini dapat membantu beberapa orang yang masih memiliki masalah. Saya menggunakan Visual Studio 2015 dan saya hanya bisa melewati argumen ketika saya mengubah definisi argv.

Dari pada

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

Saya harus menggunakan

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

Saya tidak tahu mengapa itu perlu, tetapi itu berhasil.

Blubsiwubsi
sumber
Apa ini? C ++ asli? C ++ berhasil (.NET)?
Peter Mortensen
Punya masalah yang sama tetapi kedua deklarasi yang disebutkan di atas tidak berhasil. Solusi mengubah platform dari x86 ke x64 karena saya bekerja pada mesin 64bit.
hfrmobile
2

Dalam Visual Studio 2017 dengan aplikasi .NET Core konsol lakukan hal berikut:

Klik kanan pada Project di jendela Solution , pilih "Properties", Debug (di sisi kiri), dan masukkan argumen ke dalam bidang "Argumen Aplikasi" .

Perhatikan bahwa mereka harus dipisahkan dengan ruang.

Yahya Hussein
sumber
1

Di Visual Studio 2010, klik kanan proyek, pilih Properti , klik bagian mengonfigurasi properti di panel kiri, lalu klik Debugging , lalu di panel kanan ada kotak untuk argumen perintah.

Masukkan argumen baris perintah. Anda baik untuk pergi. Sekarang debug dan lihat hasilnya. Jika Anda bosan mengubah properti maka berikan input langsung untuk sementara waktu di program.

sAm
sumber
1

Klik kanan pada proyek di jendela Solusi Visual Studio, pilih "Debugging" (di sebelah kiri), dan masukkan argumen ke dalam bidang "Argumen Perintah" :

Masukkan deskripsi gambar di sini

Andrushenko Alexander
sumber
1

Dengan VS 2015 dan yang lebih baru, Gunakan ekstensi Argumen Baris Perintah Cerdas . Plug-in ini menambahkan jendela yang memungkinkan Anda menghidupkan dan mematikan argumen:

Antarmuka Argumen Baris Perintah Cerdas

Ekstensi tambahan menyimpan argumen dalam file JSON, memungkinkan Anda untuk mengkomitnya ke kontrol sumber. Selain memastikan Anda tidak perlu mengetikkan semua argumen setiap kali, ini berfungsi sebagai suplemen yang berguna untuk dokumentasi Anda bagi pengembang lain untuk menemukan opsi yang tersedia.

jpmc26
sumber