Yleiskatsaus
Alta löytyvillä ohjeilla voit suorittaa pelin Windowsin (Protonilla pyörivien) binääritiedostojen debuggauksen Steam Deck -kehittäjäpaketissa. Sinun tulee paketoida Windows-debuggauksen runtime pelisi kanssa sekä Windows -kehityslaitteellasi pyörivä Visual Studio ja etädebuggaustyökalut, kun lähetät pelin kehittäjäpakettiin.
Toiminto on edelleen kehitysvaiheessa. Jätä palautetta ja raportoi löytämäsi ongelmat
Steam Deck -kehittäjäfoorumissa.
Huomaa! Etädebuggaustoiminnot on tuettuja vain Protonin kokeelliselle versiolle.
Asennus
Lue ohjeet pelin lataamiseen ja pelaamiseen kehittäjäpaketilla täältä:
Pelien lataaminen ja pyörittäminen Steam Deckillä. Paketoi Windows-debuggauksen runtime pelin kanssa (lisätietoja alla).
Windows-debuggauksen runtimen paketointi:
Windows-debuggauksen runtimea ei jaeta Protonin mukana. Sinun tulee paketoida debuggauksen runtimen DLL-tiedostot omaan koontiversioosi. Lisätietoja löytyy täältä:
https://docs.microsoft.com/en-us/cpp/windows/preparing-a-test-machine-to-run-a-debug-executable Debuggaus käynnistysmäärityksen pitäisi toimia Visual Studiossa. Projektin ominaisuuksissa on lisäasetus "Copy c++ Runtime to OutDir", joka voi olla hyödyllinen C++-projekteissa.
Visual Studion etädebuggaustyökalut Protonissa:
Visual Studion etädebuggaustyökaluja ei jaeta Protonin mukana. Kun lähetät pelin niin, että Steam Play -painike on valittuna, kehittäjäpakettityökalu kopioi kehittäjän Windows-isäntälaitteen etädebuggaustyökalut kehittäjäpakettijärjestelmään.
Tällä hetkellä kehittäjäpaketti etsii asennettuja Visual Studio 2019- ja Visual Studio 2017 -debuggaustyökaluja. Jotta etädebuggaustyökalut ovat saatavilla, lisää kehitystyönkuvaan esim. "Desktop development with C++", kun asennat Visual Studiota.
Käyttö
Vulkan-esimerkit
Vulkan Examples -projekti on hyvä paikka aloittaa, jos haluaa totutella tekemään Steam Deck -kehittäjäpakettiin lähetettyjen pelien debuggausta etänä.
Kloonaa projekti ja vaihda nykyinen hakemisto:
git clone --recursive https://gitlab.steamos.cloud/jupiter/vulkan-examples.git
cd vulkan-examples
Projekti sisältää monta erilaista pientä Vulkan-mallia esimerkkihakemistossa. Dokumentaatiota varten käytämme vain seuraavaa:
imgui
. Luo ja rakenna projekti:
cmake -G "Visual Studio 16 2019" -S . -Bbuild/windows
cmake --build build/windows --config Debug --target imgui
Huomaa: Cmake-koontiversio lataa lisäelementtejä suorittamalla pienen skriptin, joten Python vaaditaan koontiversion isäntäkoneella.
Tämä luo
build/windows/bin/Debug
-hakemiston. Se sisältää suoritettavan tiedoston
imgui
, vaadittavat Windows-debuggauksen DLL-tiedostot ja dataelementit.
Voit tässä kohtaa lähettää luodun debuggaushakemiston.
Valitse "This title requires Steam Play", koska kyseessä ei ole natiivi Linux-koontiversio. Valitse myös "Start Visual Studio C++ debugger service on launch" ottaaksesi etädebuggaajan käyttöön.
Jos liittäminen ei käy päin, kun peli on käynnissä, ja haluat debugata pelin käynnistyksen ja alustamisen, käytä "Wait for a debug client to attach" ja katso tämän dokumentaation "early attach" -osio.
Kun siirto on valmis, jos valitsit nimeksi esim.
vulkan_examples_debug
, Steam-kirjastosta pitäisi löytyä uusi peli nimeltä
Devkit Game: vulkan_examples_debug
.
Kun käynnistät pelin, msvsmon-palvelin käynnistyy automaattisesti etädebuggausta varten.
Voit nyt liittää debuggaajan käynnissä olevaan peliin.
Paina Visual Studiossa
Ctrl+Alt+P
, jotta voit avata
Debug > Attach to Process -ikkunan. Määritä msvsmon-palvelimen IP-osoite ja portti Connection target -kentässä, ja valitse sitten
imgui.exe
-prosessi.
Tarkat ohjeet löytyvät
Microsoft-debuggauksen dokumentaatiosta.
Unreal Engine 4 -esimerkkejä
Luo Epic Games -tili, jos sinulla ei ole vielä sellaista.
Lataa ja asenna Unreal Engine 4.
Käytämme yhtä Unreal Editorin malliprojektia esimerkkinä. Luo uusi projekti ja valitse "Puzzle"-mallipohja.
Valitse projektin nimi ja sijainti
Mene kohtaan Edit -> Project settings -> Packaging ja valitse koontiversion määritykseksi joko "Debug" tai "DebugGame". Lisätietoja löytyy
virallisesta dokumentaatiosta. Jos valitset "Include Debug Files" -valinnan, debuggaustiedostot sisällytetään pelipakettiin.
Jos et pysty kääntämään natiivia Linux-koontiversiota (jos esim. pelin ulkoiset riippuvuudet eivät tue Linuxia), voit käynnistää Windows-koontiversion käyttämällä File -> Package Project -> Windows (64-bit). Tämä luo koontiversion uuteen "WindowsNoEditor"-hakemistoon.
Lähetä käännetty peli
SteamOS Devkit Clientilla
.
Steam-kirjastossa pitäisi näkyä uusi tallennus nimellä:
Devkit Game: puzzle
(tai vastaava). Kun käynnistät pelin, msvsmon-palvelin käynnistyy automaattisesti etädebuggausta varten.
Voit nyt liittää debuggaajan käynnissä olevaan peliin.
Paina Visual Studiossa
Ctrl+Alt+P
, jotta voit avata
Debug > Attach to Process -ikkunan. Määritä msvsmon-palvelimen IP-osoite ja portti Connection target -kentässä, ja valitse sitten
puzzle.exe
-prosessi.
Tarkat ohjeet löytyvät
Microsoft-debuggauksen dokumentaatiosta.
Etädebuggauksen prosessin käynnistys: "early attach" -tuki
Etädebuggauspalvelu voidaan määrittää odottamaan käyttäjää liittymään ennen pelin käynnistystä. Tämä mahdollistaa keskeytyskohdan määrittämisen WinMainissa tai toisessa alustuskoodissa.
Tämä vaatii, että asennat Microsoft-lisäosan Visual Studioon isäntäkoneelle:
https://marketplace.visualstudio.com/items?itemName=vsdbgplat.MicrosoftChildProcessDebuggingPowerToolKun lisäosa on asennettu, ota debuggauksen aliprosessi käyttöön dokumentaation ohjeiden mukaisesti (Debug > Other Debug Targets > Child Process Debugging Settings).
Valitse "Wait for a debug client to attach" kehittäjäpaketin työkalussa ja päivitä peli.
Käynnistä peli normaalisti.
Kun liität etäprosessiin, liitä
steam.exe
– kun olet liittynyt, Proton käynnistää pelin välittömästi aliprosessina, lisäosa käynnistyy ja aloittaa pelin debuggauksen alusta niin, että keskeytyskohdat on aktivoitu.