Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I Visual Studio 2017 och senare versioner kan du öppna och skapa kod från nästan alla katalogbaserade projekt utan att behöva en lösning eller projektfil. När det inte finns någon projekt- eller lösningsfil kan du ange anpassade bygguppgifter och starta parametrar via JSON-konfigurationsfiler. Den här artikeln beskriver launch.vs.json filen, som anger felsökningsparametrar. Mer information om funktionen "Öppna mapp" finns i Utveckla kod i Visual Studio utan projekt eller lösningar.
Om du vill skapa filen högerklickar du på en körbar fil i Solution Explorer och väljer Felsöka och Starta inställningar. Välj det alternativ som bäst matchar projektet och använd sedan följande egenskaper för att ändra konfigurationen efter behov. Mer information om felsökning av CMake-projekt finns i Konfigurera CMake-felsökningssessioner.
Standardegenskaper
| Fastighet | Typ | Beskrivning |
|---|---|---|
args |
samling | Anger de kommandoradsargument som skickas till det lanserade programmet. |
buildConfigurations |
samling | Ett nyckel/värde-par som anger namnet på byggläget för att tillämpa konfigurationerna. Till exempel Debug , eller Release och de konfigurationer som ska användas enligt det valda byggläget. |
currentDir |
snöre | Anger den fullständiga katalogsökvägen till byggmålet. Katalogen identifieras automatiskt om inte den här parametern har angetts. |
cwd |
snöre | Fullständig sökväg till katalogen i fjärrsystemet där programmet körs. Standardinställningen är "${debugInfo.defaultWorkingDirectory}". |
debugType |
snöre | Anger felsökningsläget enligt typen av kod (intern, hanterad eller blandad). Läget identifieras automatiskt om inte den här parametern har angetts. Tillåtna värden: "native", "managed", "mixed". |
env |
samling | Anger en nyckel/värde-lista över anpassade miljövariabler. Till exempel: env:{"myEnv":"myVal"}. |
inheritEnvironments |
samling | Anger en uppsättning miljövariabler som ärvts från flera källor. Du kan definiera vissa variabler i filer som CMakeSettings.json eller CppProperties.json och göra dem tillgängliga för felsökningskontext.
Visual Studio 16.4: Ange miljövariabler per mål med hjälp av syntaxen env.VARIABLE_NAME . Om du vill ta bort en variabel anger du den till "null". |
name |
snöre | Anger namnet på posten i listrutan Startobjekt . |
noDebug |
booleskt | Anger om det startade programmet ska felsökas. Standardvärdet för den här parametern är false om det inte har angetts. |
portName |
snöre | Anger namnet på porten när du ansluter till en process som körs. |
program |
snöre | Felsökningskommandot som ska köras. Standardinställningen är "${debugInfo.fullTargetPath}". |
project |
snöre | Anger den relativa sökvägen till projektfilen. Normalt behöver du inte ändra det här värdet när du felsöker ett CMake-projekt. |
projectTarget |
snöre | Anger det valfria mål som anropas när du skapar project. Målet måste matcha namnet i listrutan Startobjekt . |
stopOnEntry |
booleskt | Anger om processen ska brytas så fort den startas och debuggern ansluts. Standardvärdet för den här parametern är false. |
remoteMachine |
snöre | Anger namnet på fjärrdatorn där programmet startas. |
type |
snöre | Anger om projektet är en dll eller exe. Standardinställningen är "exe". |
Egenskaper för C++ Linux
| Fastighet | Typ | Beskrivning |
|---|---|---|
program |
snöre | Fullständig sökväg till program som kan köras på fjärrdatorn. När du använder CMake kan makrot ${debugInfo.fullTargetPath} användas som värde för det här fältet. |
processId |
heltal | Valfritt process-ID som felsökningsprogrammet ska kopplas till. |
sourceFileMap |
objekt | Valfria källfilmappningar som skickas till felsökningsmotorn. Format: { "\<Compiler source location>": "\<Editor source location>" } eller { "\<Compiler source location>": { "editorPath": "\<Editor source location>", "useForBreakpoints": true } }. Exempel: { "/home/user/foo": "C:\\foo" } eller { "/home/user/foo": { "editorPath": "c:\\foo", "useForBreakpoints": true } }. Mer information finns i Alternativ för källfilkarta. |
additionalProperties |
snöre | En av alternativ för källfilkarta. (Se nedan.) |
MIMode |
snöre | Anger vilken typ av MI-aktiverad konsolfelsökare som MIDebugEngine ansluter till. Tillåtna värden är "gdb", "lldb". |
args |
samling | Kommandoradsargument som skickas till programmet. |
environment |
samling | Miljövariabler som ska läggas till i miljön för programmet. Exempel: [ { "name": "squid", "value": "clam" } ]. |
targetArchitecture |
snöre | Arkitekturen för det program som felsöks. Arkitekturen identifieras automatiskt om inte den här parametern har angetts. Tillåtna värden är x86, arm, arm64, mips, x64, amd64, . x86_64 |
visualizerFile |
snöre | Natvis-filen som ska användas vid felsökning av den här processen. Det här alternativet är inte kompatibelt med GDB-utskrifter. Se "showDisplayString" om du använder den här inställningen. |
showDisplayString |
booleskt | När en visualizerFile har angetts showDisplayString aktiveras visningssträngen. Om du aktiverar det här alternativet kan prestandan försämras under felsökningen. |
remoteMachineName |
snöre | Den fjärranslutna Linux-datorn som är värd för gdb och programmet som ska felsökas. Använd Anslutningshanteraren för att lägga till nya Linux-datorer. När du använder CMake kan makrot ${debugInfo.remoteMachineName} användas som värde för det här fältet. |
miDebuggerPath |
snöre | Sökvägen till det MI-aktiverade felsökningsprogrammet (till exempel gdb). När det är ospecificerat kommer PATH att sökas först efter felsökningsprogrammet. |
miDebuggerServerAddress |
snöre | Nätverksadressen för den MI-aktiverade felsökningsservern att ansluta till. Exempel: "localhost:1234". |
setupCommands |
samling | Ett eller flera GDB/LLDB-kommandon som ska köras för att konfigurera det underliggande felsökningsprogrammet. Exempel: "setupCommands": [ { "text": "-enable-pretty-printing", "description": "Enable GDB pretty printing", "ignoreFailures": true }]. Mer information finns i Starta installationskommandon. |
customLaunchSetupCommands |
samling | Om detta anges ersätter det här värdet de standardkommandon som används för att starta ett mål med några andra kommandon. Använd till exempel "-target-attach" för att ansluta till en målprocess. En tom kommandolista ersätter startkommandona med ingenting, vilket kan vara användbart om felsökningsprogrammet tillhandahålls startalternativ som kommandoradsalternativ. Exempel: "customLaunchSetupCommands": [ { "text": "target-run", "description": "run target", "ignoreFailures": false }]. |
launchCompleteCommand |
snöre | Kommandot som ska köras efter att felsökningsprogrammet har konfigurerats helt för att göra så att målprocessen körs. Tillåtna värden är "exec-run", "exec-continue", "None". Standardvärdet är "exec-run". |
debugServerPath |
snöre | Valfri fullständig sökväg till felsökningsservern som ska startas. Standardvärdet är null. |
debugServerArgs |
snöre | Valfria argument för felsökningsserver. Standardvärdet är null. |
filterStderr |
booleskt | Sök i stderr-strömmen efter serverstartade mönster och logga stderr för att felsöka utdata. Standardinställningen är false. |
coreDumpPath |
snöre | Valfri fullständig sökväg till en kärndumpfil för det angivna programmet. Standardvärdet är null. |
externalConsole |
booleskt | Om det stämmer startas en konsol för den felsökta enheten. Om falsestartas ingen konsol. Standardvärdet för den här inställningen är false. Det här alternativet ignoreras i vissa fall av tekniska skäl. |
pipeTransport |
snöre | I nuläget meddelar det här värdet felsökaren att ansluta till en fjärrdator med en annan körbar fil som ett rör som vidarebefordrar standardindata/utdata mellan Visual Studio och det MI-aktiverade felsökningsprogrammet (till exempel gdb). Tillåtna värden: ett eller flera transportalternativ för rör. |
debugInfo-makron
Följande makron innehåller information om felsökningsmiljön. De är användbara för att anpassa lanseringen av din app för felsökning.
| Makro | Beskrivning | Exempel |
|---|---|---|
addressSanitizerRuntimeFlags |
Körningsflaggor som används för att anpassa funktionssättet för address-sanitörer. Används för att ange miljövariabeln "ASAN_OPTIONS". |
"env": {"ASAN_OPTIONS": "${addressSanitizerRuntimeFlags}:anotherFlag=true"} |
defaultWorkingDirectory |
Ange till katalogdelen i "fullTargetPath". Om CMake-variabeln VS_DEBUGGER_WORKING_DIRECTORY har definierats defaultWorkingDirectory ställs den i stället in på det värdet. |
"cwd":"${debugInfo.defaultWorkingDirectory}" |
fullTargetPath |
Den fullständiga sökvägen till binärfilen som debuggas. | "program": "${debugInfo.fullTargetPath}" |
linuxNatvisPath |
Den fullständiga Windows-sökvägen till filen "VS Linux .natvis". Visas vanligtvis som värdet "visualizerFile". |
|
parentProcessId |
Process-ID för den aktuella Visual Studio-instansen. Används som parameter för shellexec. | Se pipeTransport-exemplet nedan. |
remoteMachineId |
En unik, numerisk identifierare för anslutningen till fjärrdatorn. Används som parameter för shellexec. | Se pipeTransport-exemplet nedan. |
remoteWorkspaceRoot |
Linux-sökväg till fjärrkopian av arbetsytan. | Ange filplatser på fjärrdatorn. Till exempel: "args": ["${debugInfo.remoteWorkspaceRoot}/Data/MyInputFile.dat"] |
resolvedRemoteMachineName |
Namnet på målfjärrdatorn. |
"targetMachine" värde i ett distributionsdirektiv |
shellexecPath |
Sökvägen till shellexec-programmet som Visual Studio använder för att hantera fjärrdatoranslutningen. | Se pipeTransport-exemplet nedan |
tty |
gdb omdirigerar indata och utdata till den här enheten för programmet som debuggas. Används som parameter för gdb (-tty). | Se pipeTransport-exemplet nedan. |
windowsSubsystemPath |
Den fullständiga sökvägen till Windows-undersystemet för Linux-instansen. |
PipeTransport-exemplet nedan visar hur du använder några av makrona debugInfo som definierats ovan:
"pipeTransport": {
"pipeProgram": "${debugInfo.shellexecPath}",
"pipeArgs": [
"/s",
"${debugInfo.remoteMachineId}",
"/p",
"${debugInfo.parentProcessId}",
"/c",
"${debuggerCommand}",
"--tty=${debugInfo.tty}"
],
"pipeCmd": [
"/s",
"${debugInfo.remoteMachineId}",
"/p",
"${debugInfo.parentProcessId}",
"/c",
"${debuggerCommand}"
]
}
Inställningar för fjärrdebugging och distribuering av C++ Windows
Används vid felsökning och distribution av en app på en fjärrdator.
| Fastighet | Typ | Beskrivning |
|---|---|---|
cwd |
snöre | Arbetskatalogen för målet på fjärrdatorn. När du använder CMake kan makrot ${debugInfo.defaultWorkingDirectory} användas som värde för det här fältet. Standardvärdet är katalogen för felsökningsprogrammet/kommandot. |
deploy |
snöre | Anger extra filer eller kataloger som ska distribueras. Till exempel:"deploy": {"sourcePath":"<Full path to source file/directory on host machine>", "targetPath":"<Full destination path to file/directory on target machine>"} |
deployDirectory |
snöre | Den plats på fjärrdatorn där projektutdata distribueras automatiskt till. Standardinställningen är "C:\Windows Default Deploy Directory\<name of app>". |
deployDebugRuntimeLibraries |
snöre | Specificerar om felsökningsbiblioteken ska distribueras för den aktuella plattformen. Standardvärdet är "true" om den aktiva configurationType är "Debug". |
deployRuntimeLibraries |
snöre | Anger om körningsbiblioteken för den aktiva plattformen ska distribueras. Standardvärdet är "true" om den aktiva configurationType är "MinSizeRel", "RelWithDebInfo"eller "Release". |
disableDeploy |
booleskt | Anger om filer ska distribueras. |
remoteMachineName |
snöre | Anger namnet på den fjärranslutna ARM64 Windows-dator där programmet startas. Kan vara servernamnet eller fjärrdatorns IP-adress. |
authenticationType |
snöre | Anger typen av fjärranslutning. Möjliga värden är "windows" och "none". Standardvärdet är "windows". Det här värdet ska matcha autentiseringsinställningen som anges på fjärrfelsökaren som körs på fjärrdatorn. |
Kör konfigurationskommandon
Används med egenskapen setupCommands :
| Fastighet | Typ | Beskrivning |
|---|---|---|
text |
snöre | Felsökningskommandot som ska köras. |
description |
snöre | Valfri beskrivning av kommandot. |
ignoreFailures |
booleskt | Om det är sant ska fel från kommandot ignoreras. Standardinställningen är false. |
Transportalternativ för rör
Används med egenskapen pipeTransport :
| Fastighet | Typ | Beskrivning |
|---|---|---|
pipeCwd |
snöre | Den fullständigt kvalificerade sökvägen till arbetskatalogen för pipe-programmet. |
pipeProgram |
snöre | Det fullständigt kvalificerade pipe-kommandot som ska köras. |
pipeArgs |
samling | Kommandoradsargument som skickas till pipe-programmet för att konfigurera anslutningen. |
debuggerPath |
snöre | Den fullständiga sökvägen till felsökningsprogrammet på måldatorn, till exempel /usr/bin/gdb. |
pipeEnv |
objekt | Miljövariabler som skickas till pipe-programmet. |
quoteArgs |
booleskt | Om enskilda argument innehåller tecken (till exempel blanksteg eller flikar), bör det citeras? Om falsekommer felsökningskommandot inte längre att citeras automatiskt. Standard är true. |
Alternativ för källfilsmappning
Använd med egenskapen sourceFileMap :
| Fastighet | Typ | Beskrivning |
|---|---|---|
editorPath |
snöre | Platsen för källkoden som redigeraren ska hitta. |
useForBreakpoints |
booleskt | När du anger brytpunkter ska den här källmappningen användas. Om falseanvänds endast filnamnet och radnumret för att ange brytpunkter. Om trueanges brytpunkter med den fullständiga sökvägen till filen och radnumret endast när källmappningen används. Annars används bara filnamn och radnummer vid inställning av brytpunkter. Standard är true. |