Foutopsporing met opdrachtregelparameters in Visual Studio

Ik ontwikkel een C++-opdrachtregeltoepassing in Visual Studio en moet deze opsporen met opdrachtregelargumenten. Op dit moment voer ik gewoon het gegenereerde EXE-bestand uit met de argumenten die ik nodig heb (zoals deze program.exe -file.txt), maar op deze manier kan ik niet debuggen. Kan ik ergens de argumenten voor debuggen specificeren?


Antwoord 1, autoriteit 100%

Ja, het staat in het gedeelte Debuggingvan de eigenschappenpagina van het project.

In Visual Studio sinds 2008: klik met de rechtermuisknop op het project, kies Eigenschappen, ga naar het gedeelte Debugging— er is een vak voor “Opdrachtargumenten”. (Tip: geen oplossing, maar project).


Antwoord 2, autoriteit 7%

De Mozilla.org FAQ over het debuggen van Mozilla op Windowsis hier van belang.

Kortom, de Visual Studio-debugger kan in een programma worden aangeroepen vanaf de opdrachtregel, waardoor men de opdrachtregelargumenten kan specificeren bij het aanroepen van een opdrachtregelprogramma, rechtstreeks op de opdrachtregel.

Dit ziet er als volgt uit voor Visual Studio 8 of 9 (respectievelijk Visual Studio 2005 of Visual Studio 2008)

devenv /debugexe 'programmanaam' 'programmaargumenten'

Het is ook mogelijk om een ​​verkenneractieom een ​​programma te starten in de Visual Studio-foutopsporing.


Antwoord 3, autoriteit 2%

Zelfs als u het uitvoerbare bestand buiten Visual Studio start, kunt u nog steeds de opdracht “Attach” gebruiken om Visual Studio te verbinden met uw reeds draaiende uitvoerbare bestand. Dit kan handig zijn b.v. wanneer uw applicatie wordt uitgevoerd als een plug-in binnen een andere applicatie.


Antwoord 4

Microsoft Visual Studio Ultima 2013.

Je kunt gewoon naar het DEBUG-menu gaan → HoofdeigenschappenConfiguratie-eigenschappenDebuggingen dan zie je het vak voor de opdracht lijnargumenten.

Eigenlijk kunt u dezelfde invoerargumenten instellen voor alle verschillende configuraties en niet alleen voor foutopsporing.

Selecteer in het vervolgkeuzemenu van de configuratie: Alle configuraties en voeg de invoerargumenten in (elk argument gescheiden door een spatie).

Nu kunt u uw programma in verschillende modi uitvoeren zonder dat u de invoerargumenten telkens hoeft te wijzigen.


Antwoord 5

Met VS 2015 en hoger, gebruik de Smart Command Line Argumentsextensie . Deze plug-in voegt een venster toe waarin je argumenten aan en uit kunt zetten:

Smart Command Line Arguments-interface

De extensie slaat bovendien de argumenten op in een JSON-bestand, zodat u ze kunt vastleggen in bronbeheer. Behalve dat u ervoor zorgt dat u niet elke keer alle argumenten hoeft in te voeren, dient dit als een nuttige aanvulling op uw documentatie voor andere ontwikkelaars om de beschikbare opties te ontdekken.


Antwoord 6

In Visual Studio 2017 met een .NET Coreconsoletoepassing doe je het volgende:

Klik met de rechtermuisknop op het project in het venster Oplossing, selecteer “Eigenschappen”, Debug(aan de linkerkant) en voer de argumenten in het veld in “Applicatieargumenten”.

Houd er rekening mee dat ze door spaties moeten worden gescheiden.


Antwoord 7

Dit kan sommige mensen helpen die nog steeds problemen hebben.
Ik gebruik Visual Studio 2015 en ik kon de argumenten alleen doorgeven toen ik de definitie van argvveranderde.

In plaats van

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

Ik moest gebruiken

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

Ik weet niet waarom het nodig was, maar het werkt.


Antwoord 8

Klik in Visual Studio 2010 met de rechtermuisknop op het project, kies Eigenschappen, klik op het gedeelte Eigenschappen configureren in het linkerdeelvenster, klik vervolgens op Foutopsporingen vervolgens aan de rechterkant deelvenster is er een vak voor opdrachtargumenten.

Voer daarin de opdrachtregelargumenten in. Je bent klaar om te gaan. Debug nu en zie het resultaat. Als je moe bent van het veranderen in de eigenschappen, geef dan tijdelijk de invoer direct in het programma.


Antwoord 9

Ik heb enkele oude opdrachtregelargumenten gevonden die zijn opgeslagen in een MyStartUpProject.csproj.user-bestand onder de bronmap van mijn opstartproject. Het verwijderen van dit bestand werkte niet, Visual Studio bracht het terug voor mij. Ik moest de argumenten in het bestand bewerken.

De waarden in het bestand werden niet weergegeven in VS, Projecteigenschappen, Debugging. Door daar waarden in te voeren, werden ze toegevoegd aan de waarden in het mysterieuze bestand MyStartUpProject.csproj.user.


Antwoord 10

In VS 2022 is het mogelijk om elk uitvoerbaar bestand te debuggen.
Open een map met het .exe-bestand

  • Klik met de rechtermuisknop op het .exe-bestand en klik op “Instellen als opstartitem”
  • Klik nogmaals met de rechtermuisknop op het .exe-bestand en klik op “Open Debug and Launch Settings”
  • Voeg argstoe aan launch_schema.json, bijvoorbeeld
{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
      "type": "default",
      "project": "ffprobe.exe",
      "projectTarget": "",
      "name": "ffprobe.exe",
      "args": [ "C:\\Temp\\test-file" ]
    }
  ]
}

Other episodes