Öğretici: Uzak bir Windows makinesinde CMake projesinde hata ayıklama

Bu öğreticide, uzak bir Windows makinesinde dağıtabileceğiniz ve hata ayıklayabileceğiniz bir CMake projesi oluşturmak ve oluşturmak için Windows üzerinde Visual Studio C++ kullanılır. Öğretici Windows ARM64'e özgüdür, ancak adımlar diğer mimariler için genelleştirilebilir.

Visual Studio'da ARM64 için varsayılan hata ayıklama deneyimi, ARM64 Windows makinesinde uzaktan hata ayıklamadır. Hata ayıklama ayarlarınızı bu öğreticide gösterildiği gibi yapılandırın. Aksi takdirde, bir ARM64 CMake projesinde hata ayıklamaya çalıştığınızda Visual Studio'nun uzak makineyi bulamadığını belirten bir hata alırsınız.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • CMake projesi oluşturma
  • ARM64 için derlemek üzere bir CMake projesi yapılandırma
  • CMake projesini uzak ARM64 Windows makinesinde çalışacak şekilde yapılandırma
  • uzak ARM64 Windows makinesinde çalışan bir CMake projesinde hata ayıklama

Ön koşullar

Konak makinede

Visual Studio'yu platformlar arası C++ geliştirme için ayarlamak için hedef mimari için derleme araçlarını yükleyin. Bu öğretici için şu adımları uygulayarak ARM64 derleme araçlarını yükleyin:

  1. Visual Studio Yükleyicisi çalıştırın. Visual Studio'yu henüz yüklemediyseniz bkz . Visual Studio'yu yükleme
  2. Visual Studio Yükleyicisi giriş ekranında Değiştir'i seçin.
  3. Üstteki seçeneklerden Tek tek bileşenler'i seçin.
  4. Aşağı kaydırarak Derleyiciler, derleme araçları ve çalışma zamanları bölümüne gelin.
  5. Aşağıdakilerin seçildiğinden emin olun:
    • Windows için C++ CMake araçları
    • MSVC v142 - VS 2019 C++ ARM64 derleme araçları (En Son) Derleme araçlarını değil ARM derleme araçlarını seçmeniz ARM64 (64'e bakın) ve ile VS 2019birlikte gelen sürümü seçmeniz önemlidir.
  6. Araçları yüklemek için Değiştir'i seçin.

Uzak makinede

  1. Uzak makineye uzak araçları yükleyin. Bu öğreticide, uzak araçları indirme ve yükleme başlığındaki yönergeleri izleyerek ARM64 araçlarını yükleyin.
  2. Uzak makinede uzak hata ayıklayıcıyı başlatın ve yapılandırın. Bu öğreticide, uzak Windows makinesinde uzaktan hata ayıklayıcıyı ayarlama yönergelerini izleyerek bunu yapın.

CMake projesi oluşturma

Windows ana bilgisayar makinesinde:

  1. Visual Studio'yu çalıştırma
  2. Ana menüden Dosya>Yeni Proje'yi> seçin.
  3. CMake Projesi>İleri'yi seçin
  4. Projeye bir ad verin ve bir konum seçin. Daha sonra, Oluştur'u seçin.

Visual Studio'ya projeyi oluşturması ve Çözüm Gezgini doldurması için birkaç dakika verin.

ARM64 için yapılandırma

ARM64 Windows makinesini hedeflemek için ARM64 derleme araçlarını kullanarak derlemeniz gerekir.

Visual Studio Yapılandırması açılan listesini seçin ve Yapılandırmaları Yönet'i seçin.

Choose Manage Configurations in the Visual Studio configurations drop-down.

Yeni yapılandırma ekle'yi (yeşil + düğme) seçerek yeni bir yapılandırma ekleyin.
Görüntülenen CMake Ayarlar iletişim kutusunda arm64-debug öğesini ve ardından Seç'i seçin:

Add arm64-debug configuration.

Bu komut, dosyanıza CmakeSettings.json adlı arm64-Debug bir hata ayıklama yapılandırması ekler. Bu yapılandırma adı, Yapılandırma açılan listesinde bu ayarları tanımlamanızı kolaylaştıran benzersiz ve kolay bir addır.

Araç Takımı açılan listesi msvc_arm64_x64 olarak ayarlanır. Ayarlarınız şimdi şöyle görünmelidir:

CMake settings dialog.

Dekont

Araç Takımı açılır listesinde msvc_arm64 ARM64'e çapraz derlemek için 32 bit konak araçlarını seçerken msvc_arm64 x64, ARM64'e çapraz derleme yapmak için 64 bit konak araçlarını seçer. Bu öğreticide bunu yapacaksınız. Kullanılabilir araç takımı ortamları hakkında daha fazla bilgi için bkz . Önceden tanımlanmış ortamlar.

CMakeSettings.json dosyasını kaydedin. Yapılandırma açılan listesinde arm64-debug öğesini seçin. (Dosyayı kaydettikten CMakeSettings.json sonra listede görünmesi biraz zaman alabilir):

Ensure that arm64-debug is selected in the Visual Studio configurations drop-down.

Hata ayıklama yapılandırma dosyası ekleme

Ardından, Visual Studio'ya diğer yapılandırma ayrıntılarıyla birlikte uzak makinenizi nerede bulacağını bildiren yapılandırma bilgileri ekleyin.

Görünümleri Değiştir düğmesini seçerek Çözüm Gezgini görünümünü hedefler görünümüne değiştirin:

Solution explorer switch view button.

Ardından, projeyi görmek için Çözüm Gezgini CMake Hedefleri Görünümü'ne çift tıklayın.

Proje klasörünü açın (bu örnekte CMakeProject3 Projesi) ve yürütülebilir dosyaya sağ tıklayıp Hata Ayıklama Yapılandırması Ekle'yi seçin:

Select add debug configuration.

Bu komut projenizde bir launch.vs.json dosya oluşturur. Uzaktan hata ayıklamayı etkinleştirmek için açın ve aşağıdaki girdileri değiştirin:

  • projectTarget: yukarıdaki yönergelere göre Çözüm Gezgini hedefler görünümünden hata ayıklama yapılandırma dosyasını eklediyseniz bu değer sizin için ayarlanır.
  • remoteMachineName: uzak ARM64 makinesinin IP adresine veya makine adına ayarlayın.

Ayarlar hakkında launch.vs.json daha fazla bilgi için bkz launch.vs.json . şema başvurusu.

Dekont

Çözüm Gezgini hedef görünümü yerine klasör görünümünü kullanıyorsanız, dosyaya CMakeLists.txt sağ tıklayın ve Hata Ayıklama Yapılandırması Ekle'yi seçin. Bu deneyim, aşağıdaki yollarla hedefler görünümünden hata ayıklama yapılandırmasını eklemeden farklıdır:

  • Bir hata ayıklayıcı seçmeniz istenir (C/C++ Uzak Windows Hata Ayıklama'ya tıklayın).
  • Visual Studio dosyada launch.vs.json daha az yapılandırma şablonu bilgisi sağlar, bu nedenle kendiniz eklemeniz gerekir. ve projectTarget girdilerini sağlamanız remoteMachineName gerekir. Yapılandırmayı hedefler görünümünden eklediğinizde, yalnızca belirtmeniz remoteMachineNamegerekir.
  • projectTarget Ayar değeri için başlangıç öğesi açılan listesini denetleerek hedefinizin benzersiz adını alın; örneğin, bu öğreticide adı 'dırCMakeProject3.exe.

Uzak Windows makinesinde uzak hata ayıklayıcı izleyicisini başlatma

CMake projenizi çalıştırmadan önce, Visual Studio 2019 uzak hata ayıklayıcısının uzak Windows makinesinde çalıştığından emin olun. Kimlik doğrulama durumunuz bağlı olarak uzak hata ayıklayıcı seçeneklerini değiştirmeniz gerekebilir.

Örneğin, uzak makinedeki Visual Studio Uzaktan Hata Ayıklayıcı menü çubuğunda Araçlar>Seçenekleri'ni seçin. Kimlik doğrulama modunu ortamınızın ayarlarıyla eşleşecek şekilde ayarlayın:

Remote debugger authentication options.

Ardından, konak makinedeki Visual Studio'da dosyayı eşleşecek şekilde güncelleştirin launch.vs.json . Örneğin, uzak hata ayıklayıcıda Kimlik Doğrulaması Yok'u seçerseniz bölümüne launch.vs.jsonekleyerek "authenticationType": "none" projenizdeki dosyayı güncelleştirin launch.vs.json configurations. Aksi takdirde, "authenticationType" varsayılan olarak "windows" ve şeklindedir ve açıkça belirtilmesi gerekmez. Bu örnekte, kimlik doğrulaması yapılmadan yapılandırılmış bir launch.vs.json dosya gösterilmektedir:

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
        "type": "remoteWindows",
        "authenticationType": "none"
        "name": "CMakeLists.txt",
        "project": "CMakeLists.txt",
        "projectTarget": "CMakeProject3.exe",
        "remoteMachineName": "<ip address goes here>",
        "cwd": "${debugInfo.defaultWorkingDirectory}",
        "program": "${debugInfo.fullTargetPath}",
        "deploy": [],
        "args": [],
        "env": {}
    },
    {
      "type": "default",
      "project": "CMakeLists.txt",
      "projectTarget": "CMakeProject3.exe",
      "name": "CMakeProject3.exe"
    }
  ]
}

Uygulamada hata ayıklama

Konak makinedeki Visual Studio Çözüm Gezgini, CMake projeniz için CPP dosyasını açın. Hala CMake Hedefleri Görünümü'ndeyseniz görmek için (yürütülebilir) düğümü açmanız gerekir.

Varsayılan CPP dosyası basit bir merhaba dünya konsol uygulamasıdır. üzerinde return 0;bir kesme noktası ayarlayın.

Visual Studio araç çubuğunda Başlangıç Öğesi açılan listesini kullanarak dosyanızda launch.vs.json belirttiğiniz "name" adı seçin:

Example startup item dropdown with CMakeProject3.exe selected.

Hata ayıklamayı başlatmak için Visual Studio araç çubuğunda Hata AyıklamaYı>Başlat Hata Ayıklama'yı seçin (veya F5 tuşuna basın).

Başlatılmazsa, dosyada aşağıdakilerin doğru ayarlandığından launch.vs.json emin olun:

  • "remoteMachineName" uzak ARM64 Windows makinesinin IP adresine veya makine adına ayarlanmalıdır.
  • "name" , Visual Studio başlangıç öğesi açılan menüsündeki seçimle eşleşmelidir.
  • "projectTarget" hata ayıklamak istediğiniz CMake hedefinin adıyla eşleşmelidir.
  • "type" Olmalıdır "remoteWindows"
  • Uzak hata ayıklayıcıdaki kimlik doğrulama türü Kimlik Doğrulaması Yok olarak ayarlandıysa, dosyada launch.vs.json ayarlamış "authenticationType": "none" olmanız gerekir.
  • Windows kimlik doğrulaması kullanıyorsanız, uzak makine tarafından tanınan bir hesap kullanarak istendiğinde oturum açın.

Proje derledikten sonra uygulama uzak ARM64 Windows makinesinde görünmelidir:

Hello CMake console app running on remote Windows ARM64 machine.

Konak makinedeki Visual Studio, için return 0;kesme noktasında durdurulmalıdır.

Öğrendikleriniz

Bu öğreticide bir CMake projesi oluşturdunuz, ARM64'te Windows için derlenmek üzere yapılandırdı ve uzak arm64 Windows makinesinde hata ayıkladınız.

Sonraki adımlar

Visual Studio'da CMake projelerini yapılandırma ve hata ayıklama hakkında daha fazla bilgi edinin: