Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Visual Studio 2017-ben és újabb verzióiban szinte bármilyen címtáralapú projektből nyithat meg és hozhat létre kódot megoldás vagy projektfájl nélkül. Ha nincs projekt- vagy megoldásfájl, megadhatja az egyéni buildelési feladatokat, és JSON-konfigurációs fájlokon keresztül indíthatja el a paramétereket. Ez a cikk ismerteti a launch.vs.json fájlt, amely hibakeresési paramétereket ad meg. További információ a "Mappa megnyitása" funkcióról: Kód fejlesztése a Visual Studióban projektek és megoldások nélkül.
A fájl létrehozásához kattintson a jobb gombbal egy végrehajtható fájlra a Megoldáskezelőben , és válassza a Hibakeresés és a Beállítások indítása lehetőséget. Válassza ki a projektnek leginkább megfelelő beállítást, majd az alábbi tulajdonságokat használva módosítsa a konfigurációt szükség szerint. A CMake-projektek hibakereséséről további információt a CMake-hibakeresési munkamenetek konfigurálása című témakörben talál.
Alapértelmezett tulajdonságok
| Ingatlan | Típus | Leírás |
|---|---|---|
args |
tömb | Megadja az elindított programnak átadott parancssori argumentumokat. |
buildConfigurations |
tömb | Kulcs-érték pár, amely megadja a buildelési mód nevét a konfigurációk alkalmazásához. Például a Debug vagy Release és a kiválasztott összeállítási módnak megfelelően használandó konfigurációk. |
currentDir |
karakterlánc | Megadja a buildcél teljes könyvtárútvonalát. A rendszer automatikusan észleli a könyvtárat, kivéve, ha ez a paraméter be van állítva. |
cwd |
karakterlánc | A távoli rendszer könyvtárának teljes elérési útja, ahol a program futni fog. Alapértelmezett érték: "${debugInfo.defaultWorkingDirectory}". |
debugType |
karakterlánc | A hibakeresési módot a kód típusának megfelelően adja meg (natív, felügyelt vagy vegyes). A rendszer automatikusan észleli a módot, kivéve, ha ez a paraméter be van állítva. Engedélyezett értékek: "native", "managed", "mixed". |
env |
tömb | Megadja az egyéni környezeti változók kulcs-érték listáját. Például: env:{"myEnv":"myVal"}. |
inheritEnvironments |
tömb | Több forrásból öröklő környezeti változók készletét adja meg. Definiálhat néhány változót a fájlokban, például CMakeSettings.json vagy CppProperties.json elérhetővé teheti őket a környezet hibakereséséhez.
Visual Studio 16.4: Adja meg a környezeti változókat célonként a env.VARIABLE_NAME szintaxis használatával. Ha egy változót meg akar szüntetni, üresre állítsa: "null". |
name |
karakterlánc | Az Indítási elem legördülő listában szereplő bejegyzés nevét adja meg. |
noDebug |
Boolean | Megadja, hogy hibakeresésre van-e szükség az elindított programban. A paraméter false alapértelmezett értéke, ha nincs megadva. |
portName |
karakterlánc | A port nevét adja meg egy futó folyamathoz való csatoláskor. |
program |
karakterlánc | A futtatandó hibakeresési parancs. Alapértelmezett érték: "${debugInfo.fullTargetPath}". |
project |
karakterlánc | A projektfájl relatív elérési útját adja meg. CMake-projekt hibakeresésekor általában nem kell módosítania ezt az értéket. |
projectTarget |
karakterlánc | Az project összeállításakor meghívott opcionális célértéket adja meg. A célnak meg kell egyeznie az Indítási elem legördülő listában szereplő névvel. |
stopOnEntry |
Boolean | Meghatározza, hogy a folyamat elindításakor és a hibakereső csatolásakor meg kell-e szakítani a folyamatot. Ennek a paraméternek az alapértelmezett értéke a következő false: . |
remoteMachine |
karakterlánc | Megadja annak a távoli gépnek a nevét, ahol a program elindult. |
type |
karakterlánc | Megadja, hogy a projekt egy dll vagy exe. Alapértelmezett érték: "exe". |
C++ Linux-tulajdonságok
| Ingatlan | Típus | Leírás |
|---|---|---|
program |
karakterlánc | A távoli gépen végrehajtható program teljes elérési útja. CMake használata esetén a makró ${debugInfo.fullTargetPath} használható a mező értékeként. |
processId |
egész szám | Nem kötelező folyamatazonosító a hibakereső csatlakoztatásához. |
sourceFileMap |
objektum | A hibakeresési motornak átadott választható forrásfájl-leképezések. Formátum: { "\<Compiler source location>": "\<Editor source location>" } vagy { "\<Compiler source location>": { "editorPath": "\<Editor source location>", "useForBreakpoints": true } }. Példa: { "/home/user/foo": "C:\\foo" } vagy { "/home/user/foo": { "editorPath": "c:\\foo", "useForBreakpoints": true } }. További információt a forrásfájl-térkép beállításai alatt talál. |
additionalProperties |
karakterlánc | Az egyik forrásfájl-térkép opció. (Lásd alább.) |
MIMode |
karakterlánc | A MI-kompatibilis konzol hibakeresőjének típusát jelzi, amelyhez a MIDebugEngine csatlakozni fog. Az engedélyezett értékek "gdb", "lldb". |
args |
tömb | A programnak átadott parancssori argumentumok. |
environment |
tömb | A program környezetéhez hozzáadandó környezeti változók. Példa: [ { "name": "squid", "value": "clam" } ]. |
targetArchitecture |
karakterlánc | A hibakeresés architektúrája. A rendszer automatikusan észleli az architektúrát, kivéve, ha ez a paraméter be van állítva. Az engedélyezett értékek a következőkx86: , arm, arm64, mips, x64amd64. x86_64 |
visualizerFile |
karakterlánc | A folyamat hibakereséséhez használandó .natvis fájl. Ez a beállítás nem kompatibilis a GDB szép nyomtatásával. Ellenőrizze "showDisplayString" , hogy ezt a beállítást használja-e. |
showDisplayString |
Boolean | Amikor meg van adva a visualizerFile, showDisplayString engedélyezi a megjelenítési karaktersorozatot. A beállítás bekapcsolása lassíthatja a teljesítményt a hibakeresés során. |
remoteMachineName |
karakterlánc | A gdb-t üzemeltető távoli Linux-gép és a hibakeresési program. Új Linux-gépek hozzáadásához használja a Connection Managert. CMake használata esetén a makró ${debugInfo.remoteMachineName} használható a mező értékeként. |
miDebuggerPath |
karakterlánc | A MI-kompatibilis hibakereső elérési útja (például gdb). Ha nincs meghatározva, először a PATH-ban keres hibakeresőt. |
miDebuggerServerAddress |
karakterlánc | A MI-kompatibilis hibakereső kiszolgáló hálózati címe, amelyhez csatlakozni szeretne. Példa: "localhost:1234". |
setupCommands |
tömb | Egy vagy több GDB/LLDB-parancs végrehajtása a mögöttes hibakereső beállításához. Példa: "setupCommands": [ { "text": "-enable-pretty-printing", "description": "Enable GDB pretty printing", "ignoreFailures": true }]. További információ: Telepítési parancsok indítása. |
customLaunchSetupCommands |
tömb | Ha meg van adva, ez az érték felülírja a cél indításához használt alapértelmezett parancsokat néhány más parancsra. Például a "-target-attach" használatával csatolhat egy célfolyamathoz. Az üres parancslista semmire nem cseréli az indítási parancsokat, ami akkor lehet hasznos, ha a hibakereső parancssori beállításként adja meg az indítási beállításokat. Példa: "customLaunchSetupCommands": [ { "text": "target-run", "description": "run target", "ignoreFailures": false }]. |
launchCompleteCommand |
karakterlánc | A hibakereső teljes beállítása után végrehajtandó parancs, amely a célfolyamat futtatását eredményezi. Az engedélyezett értékek a következők: "exec-run", "exec-continue", "None". Az alapértelmezett érték az "exec-run". |
debugServerPath |
karakterlánc | Opcionálisan megadható a hibakeresési kiszolgáló indításához szükséges teljes elérési út. Alapértelmezés szerint null. |
debugServerArgs |
karakterlánc | Nem kötelező kiszolgálói hibakeresési argumentumok. Alapértelmezés szerint null. |
filterStderr |
Boolean | Keressen a stderr folyamában a kiszolgáló által indított mintára, és naplózza a stderr-t a hibakeresési kimenethez. Alapértelmezett érték: false. |
coreDumpPath |
karakterlánc | A megadott programhoz tartozó magfájl nem kötelező teljes elérési útja. Alapértelmezés szerint null. |
externalConsole |
Boolean | Ha igaz, egy konzol indul el a hibakereséshez. Ha falsenincs elindítva konzol. Ennek a beállításnak az alapértelmezett értéke a következő false: . Ezt a beállítást bizonyos esetekben technikai okokból figyelmen kívül hagyja a rendszer. |
pipeTransport |
karakterlánc | Ez az érték arra utasítja a hibakeresőt, hogy csatlakozzon egy távoli számítógéphez egy másik végrehajtható fájl pipe-ként való használatával, amely továbbítja a szabványos bemenetet/kimenetet a Visual Studio és a MI-kompatibilis hibakereső (például gdb) között. Engedélyezett értékek: egy vagy több csőátviteli beállítás. |
debugInfo makrók
Az alábbi makrók információt nyújtanak a hibakeresési környezetről. Ezek hasznosak az alkalmazás hibakereséshez való elindításának testreszabásához.
| Makró | Leírás | példa |
|---|---|---|
addressSanitizerRuntimeFlags |
Az AddressSanitizer viselkedésének testreszabásához használt futtatási zászlók. A környezeti változó "ASAN_OPTIONS"beállítására szolgál. |
"env": {"ASAN_OPTIONS": "${addressSanitizerRuntimeFlags}:anotherFlag=true"} |
defaultWorkingDirectory |
Állítsa be a könyvtárrészre "fullTargetPath". Ha a CMake változó VS_DEBUGGER_WORKING_DIRECTORY definiálva van, akkor defaultWorkingDirectory ehelyett az értékre van beállítva. |
"cwd":"${debugInfo.defaultWorkingDirectory}" |
fullTargetPath |
A teljes elérési út a hibakeresés alatt álló binárishoz. | "program": "${debugInfo.fullTargetPath}" |
linuxNatvisPath |
A VS linux .natvis fájl teljes elérési útja a Windows rendszerben. Általában értékként "visualizerFile"jelenik meg. |
|
parentProcessId |
Az aktuális Visual Studio-példány folyamatazonosítója. Paraméterként használt a shellexec esetén. | Lásd a pipeTransport alábbi példáját. |
remoteMachineId |
A távoli géppel való kapcsolat egyedi, numerikus azonosítója. Paraméterként használt a shellexec esetén. | Lásd a pipeTransport alábbi példáját. |
remoteWorkspaceRoot |
Linux-elérési út a munkaterület távoli másolatához. | Adja meg a távoli gépen található fájlhelyeket. Például: "args": ["${debugInfo.remoteWorkspaceRoot}/Data/MyInputFile.dat"] |
resolvedRemoteMachineName |
A cél távoli számítógép neve. |
"targetMachine" üzembehelyezési irányelvben szereplő érték |
shellexecPath |
A Visual Studio által a távoli gép kapcsolatának kezeléséhez használt shellexec program elérési útja. | Lásd a pipeTransport alábbi példáját |
tty |
A gdb átirányítja a bemenetet és a kimenetet erre az eszközre a hibakeresés alatt álló program számára. A gdb (-tty) paramétereként használatos. | Lásd a pipeTransport alábbi példáját. |
windowsSubsystemPath |
A Windows alrendszer Linuxhoz tartozó példányának teljes elérési útja. |
Az alábbi pipeTransport-példa bemutatja, hogyan használható a debugInfo fent definiált makrók némelyike:
"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}"
]
}
C++ Windows távoli hibakeresés és tulajdonságok üzembe helyezése
Alkalmazás hibakereséséhez és távoli gépen való üzembe helyezéséhez használható.
| Ingatlan | Típus | Leírás |
|---|---|---|
cwd |
karakterlánc | A célobjektum munkakönyvtára a távoli gépen. CMake használata esetén a makró ${debugInfo.defaultWorkingDirectory} használható a mező értékeként. Az alapértelmezett érték a hibakeresési program/parancs könyvtára. |
deploy |
karakterlánc | Megadja az üzembe helyezendő további fájlokat vagy könyvtárakat. Például:"deploy": {"sourcePath":"<Full path to source file/directory on host machine>", "targetPath":"<Full destination path to file/directory on target machine>"} |
deployDirectory |
karakterlánc | A távoli gépen az a hely, ahol a projektkimenetek automatikusan üzembe lesznek helyezve. Alapértelmezett érték: "C:\Windows Default Deploy Directory\<name of app>". |
deployDebugRuntimeLibraries |
karakterlánc | Megadja, hogy az aktív platformon telepítse-e a hibakeresési futtatókörnyezeti kódtárakat. Az alapértelmezett érték "true", ha az aktív konfigurációstípus "Debug". |
deployRuntimeLibraries |
karakterlánc | Megadja, hogy az aktív platform futtatókörnyezeti kódtárait üzembe kívánja-e helyezni. Alapértelmezés szerint "true", ha az aktív configurationType "MinSizeRel", "RelWithDebInfo", vagy "Release". |
disableDeploy |
Boolean | Megadja, hogy a fájlokat üzembe kell-e helyezni. |
remoteMachineName |
karakterlánc | Megadja annak a távoli ARM64 Windows-gépnek a nevét, amelyen a program elindult. Lehet a kiszolgáló neve vagy a távoli gép IP-címe. |
authenticationType |
karakterlánc | Megadja a távoli kapcsolat típusát. A lehetséges értékek a következők: "windows" és "none". Az alapértelmezett érték a "windows". Ennek az értéknek meg kell egyeznie a távoli gépen futó távoli hibakeresőn megadott hitelesítési beállítással. |
Telepítési parancsok indítása
Használva a setupCommands tulajdonsággal:
| Ingatlan | Típus | Leírás |
|---|---|---|
text |
karakterlánc | A futtatandó hibakereső parancs. |
description |
karakterlánc | A parancs nem kötelező leírása. |
ignoreFailures |
Boolean | Ha igaz, a parancs hibáit figyelmen kívül kell hagyni. Alapértelmezett érték: false. |
Csőszállítási lehetőségek
Használva a pipeTransport tulajdonsággal:
| Ingatlan | Típus | Leírás |
|---|---|---|
pipeCwd |
karakterlánc | A csővezetékre vonatkozó program munkakönyvtárának teljes elérési útja. |
pipeProgram |
karakterlánc | A teljesen minősített pipe parancs végrehajtása. |
pipeArgs |
tömb | A kapcsolat konfigurálásához a csőprogramnak átadott parancssori argumentumok. |
debuggerPath |
karakterlánc | A célgép hibakeresőjének teljes elérési útja, például /usr/bin/gdb. |
pipeEnv |
objektum | A csőprogramnak átadott környezeti változók. |
quoteArgs |
Boolean | Ha az egyes argumentumok karaktereket (például szóközöket vagy tabulátorokat) tartalmaznak, idézni kell? Ha false, a hibakereső parancs többé nem lesz automatikusan idézve. Az alapértelmezett érték true. |
Forrásfájl térkép beállításai
Használja a sourceFileMap tulajdonsággal:
| Ingatlan | Típus | Leírás |
|---|---|---|
editorPath |
karakterlánc | A forráskód helye, amelyet a szerkesztőnek meg kell találnia. |
useForBreakpoints |
Boolean | Töréspontok beállításakor ezt a forrásleképezést kell használni. Ha falsea töréspontok beállításához csak a fájlnevet és a sorszámot használja a rendszer. Ha true van megadva, a töréspontok csak akkor lesznek beállítva, amikor ez a forrástérképezés van használatban, a teljes fájlelérési úttal és a sorszámmal. Ellenkező esetben a rendszer csak a fájlnevet és a sorszámot használja a töréspontok beállításakor. Az alapértelmezett érték true. |