• Anasayfa
  • Hakkımızda
  • Etkinlikler
  • Destek Verin
  • Site Haritası
  • Giriş Yap
  • Üye Ol
  • Facebook
  • Twitter
  • RSS
Yazılım Dilleri
  • Soru - Cevap
  • EĞİTİM SETİ
  • KATEGORİ
  • DUYURU
  • TEKNOLOJİ HABERLERİ

Son Sorular

  • 2.08.2020 23:38:31'Basit' Yazılım Dili
  • 25.06.2020 15:18:13derleme hatası
  • 11.12.2017 16:49:15Windows Hizmeti Hk.
  • 23.04.2016 00:55:33C programlama 2 oyun

Popüler Sorular

  • 27.05.2012 05:49:50Asp.Net ile Date time alana veri ekleyemiiyorum ?
  • 2.04.2012 00:45:18.exe uzantılı dosya için dijital imza nerde nasıl alınır.
  • 12.05.2012 08:44:49Acil Yardım
  • 27.05.2012 13:46:51veri tabanı bağlantısı
  • .Net Framework
  • 8085 Assembly
  • Active Directory
  • ADO.NET
  • Android
  • Apple IOS
  • Arduino
  • ASP.NET
  • ASP.NET MVC
  • Blackberry
  • C#.Net
  • C++
  • CCG Framework
  • CISCO
  • CSS
  • Diğer
  • Dreamweaver
  • Entity Framework
  • Exchange Server
  • Gömülü Sistemler
  • GSM Programlama
  • Güncel
  • Güvenlik
  • HTML5
  • Java
  • Javascript / JQuery
  • Jira
  • Kariyer ve İş Yaşamı
  • LINQ
  • LibreOffice
  • Linux
  • Matlab
  • Microsoft Dynamics CRM
  • Mobil Uygulama Geliştirme
  • MySQL
  • NoSQL
  • Oracle
  • OWIN
  • PFSense
  • PHP
  • Powershell
  • Python
  • Sanallastirma
  • SAP-ABAP
  • SCOM 2012
  • SEO
  • Sharepoint 2010
  • Sharepoint 2013
  • Silverlight
  • Sistem Analiz ve Tasarımı
  • SQL Server
  • Symantec
  • TFS
  • T-SQL
  • Ubuntu
  • VB.NET
  • Veritabanı Yönetim Sistemleri
  • Visual Studio
  • VMware
  • WCF
  • Web Hosting
  • Windows 8
  • Windows Azure
  • Windows Phone 7.1
  • Windows Phone 8
  • Windows Server
  • Wordpress
  • WPF
  • Xamarin
  • XNA
  • Yazılım Mühendisliği
  • Yöneylem Araştırması
  • ASP.NET MVC
  • Entity Framework
  • Javascript / JQuery
  • LINQ
  • PHP

Son Duyurular

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

IPhone 6 ve IPhone 6 Plus Teknik Özellikleri ve Fiyatı

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

DELL'in Yeni Projesi: USB Bilgisayar (Project Ophelia)

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Windows Phone Youtube Uygulaması Google ve Microsoft ile Yeniden Yapılıyor

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Android ve Apple IOS Telefonlar için Blackberry Messenger (BBM)

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

Nokia Lumia 925 Teknik Özellikleri, Lumia 928 ve 920 ile Karşılaştırması

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

LG Optimus G Pro Özellikleri ve Gözle Video Oynatma Teknolojisi

Remote Debugger ile .Net Remote Debugging Nasıl Yapılır

Visual Studio 2010 Remote Debugger ile .Net projelerinde Remote Debugging (uzaktan debug yapma) işlemi nasıl yapılır, öğrenelim

25.07.2013

Yazar: Hakan Keskin (Google+)

Kategori: Visual Studio

9317

.NET REMOTE DEBUGGING

Yazılım süreçlerinin parçalarından birisi debug, bir diğeri de deployment. Genellikle deployment yapıldıktan sonra karşılaşılan hatalar, hata log’larına bakılarak giderilmeye çalışılır. Geçmişte, bu durum bir zorunluluktu, ancak günümüzde daha gelişmiş uygulama geliştirme arayüzleri sayesinde deploy edilmiş bir uygulamanın debug edilebilmesi mümkündür. Bu sayede, hata log’ları ile tespit edilemeyen bazı hata, ya da yanlış işleryişleri debug ederek bulabilmek mümkündür.

Bu makalede Visual Studio .Net ile bu güzel özelliğin nasıl kullanılabileceği anlatılmıştır.

SUNUCUNUN HAZIRLANMASI

Remote Debugging yapılabilmesi için öncelikle, yazılımın kurulduğu ve debug edilecek sunucunun (ya da PC’nin) hazırlanması gerekir.

Bunun için, ilk olarak “rdbgsetup_x64.exe” isimli programın sunucuya kurulması gerekir. Bu program, alttaki link’ten indirilebilir.

http://www.microsoft.com/en-us/download/details.aspx?id=475

Bu link’teki “Download” butonuna tıklandığında, istenen dosya tipinin seçildiği bir ekran açılacaktır. Bu ekrandan, işletim sisteminize uygun programı seçip indirebilirsiniz. 64 bit.işletim sistemleri için yukarıda adı verilen dosya indirilmelidir.

Gereken dosya indirildikten sonra sunucu üzerine kurulumu yapılır. Dosya çalıştırıldığında, alttaki ekran görüntüsü gelecektir. “Next” butonuna basılarak ilerlenir. Sonraki ekranda bulunan “Install” butonuna tıklanarak kurulum başlatılır.

Visual Studio 2010 remote Debugger (x64) Setup Kurulumu

Visual Studio 2010 remote Debugger (x64) Setup Kurulumu

Şekil 1

Kurulum tamamlandıktan sonra, şekil 2 ile gösterilen sayfa açılır. Bu sayfadaki “Finish” butonuna tıklandığında, şekil 3 ile gösterilen ve gerekli ayarları yapabilmenizi sağlayan bir ekran açılır (Remote Debugger Configuration Wizard). “Next” butonuna tıklanarak ilerlendiğinde, şekil 4 ile gösterilen ekran gelir.

Visual Studio 2010 remote Debugger (x64) Setup Kurulumu

Şekil 2

Visual Studio 2010 Remote Debugger Configuration Wizard

Şekil 3

Bu ekrandaki “Run the Visiual Studio 2010 Remote Debugger service” seçeneği işaretlenir. Bu senek işaretlendiğinde, “User name” ve “Password” isimli, iki alan açılır.

Visual Studio 2010 Remote Debugger Configuration Wizard Remote Debugger Service

Şekil 4

                “User name” alanına, o sunucu üzerinde “Admin” yetkisi olan bir kullanıcı adı ve “Password” alanına da, o kullanıcının şifresi girilmelidir. Debug yapacak bilgisayarda “Admin” olan kullanıcı, sunucuya “Admin” olarak tanımlanmalı ve bu kullanıcının adı ve şifresi verilmelidir. Aksi durumda, yetki hatası alınacaktır. Sunucu üzerinde “Admin” yetkili kullanıcı tanımlama işlemi, Administrative Tools > Server Manager  sayfasından, Configuration > Local Users and Groups menüsünden yapılabilir.

                İlgili bilgiler girilip, “Next” butonuna tıklanarak devam edildiğinde, şekil 5 ile belirtilen alttaki ekran açılacaktır.

Visual Studio 2010 Remote Debugger Configuration Wizard Configure the Windows Firewall for Debugging

Şekil 5

Bu ekranda remote debug  için yetki durumu soran iki seçenek göreceksiniz. İlk seçenek işaretlenirse, debug işlemi herhangi bir bilgisayardan yapılabilir. İkinci seçenek işaretlendiğinde, sadece network içindeki bir bilgisayardan debug işlemi yapılabilir. Uygun bulduğunuz seçeneği işaretleyip, “Next” butonuna tıklayarak devam edin. Bundan sonra gelecek olan sayfadaki “Finish” butonuna tıklayarak konfigürasyonu tamamlayın.

Bu işlemlerden sonra sıra, sunucudaki remote debug özelliğini aktif etmeye geldi. Bu işlem için, şekil 6 ile verildiği gibi, ilgili “Remote Debugger”ı çalıştırın. Debugger’ı “Run as administrator” tıklayarak çalıştırmanız gerekir. Aksi durumda, bağlantı kuraraken bu konuda uyarı alırsınız ve bağlantı gerçekleşmez.

Run Visual Studio 2010 Remote Debugger as Administrator

Şekil 6 [Start > All Programs > Microsoft Visual Studio 2010 > Visual Studio 2010 Remote Debugger (x64)]

Remote Debuger çalıştırıldığında, alltta şekil 7 ile verilen pencere açılacaktır.

Visual Studio 2010 Remote Debugging Monitor (Administrator)

Şekil 7

Sayfada yer alan ilk satırın sonunda “Waiting for new connections” yazmaktadır. Bu ibare, şuana kadar işlerin yolunda gittiğini ve Remote Debugger’ın bağlantı için hazır olduğunu gösterir.

Debug edilecek programın çalışır durumda olup olmadığını kontrol edin.

Bu noktadan sonra sunucuda yapılması gereken işlemler tamamlanmış oluyor.

NOT: Sunucuda çalışan bir programın debug edilebilmesi için, programın “Debug” modda derlenmiş olması ve programın çalıştığı ilgili klasörlere “pdb” uzantılı dosyaların kopyalanmış olması gerekir.

REMOTE DEBUGGER İLE BAĞLANTI KURMA ve DEBUG İŞLEMİ

Debug etmek istediğiniz projeyi, debug yapılacak bilgisayarda açın.

Projenizi, altta açıklandığı şekilde, sunucuda çalışan programa “Attach” edin.

1. Altta, şekil 8 ile gösterildiği biçimde, Debug > Attach to process... menüsüne tıklayın.

Visual Studio projesini çalışan programa Attach etme

Şekil 8

2. Altta, şekil 9 ile gösterilen sayfa ekrana gelecektir.

Attach to Process

Şekil 9

Transport: Default olacak.

Qualifier: bu kısma debug edilecek sunucunun IP adresi, ya da şekilde görüldüğü gibi sunucu adı girilecektir. Bu alana IP adresi girilip “enter” tuşuna basıldığında, ya da “Refresh” butonuna tıklandığında, bu alanda sunucunun adı, bağlantı yapılan kullanıcı adı ile birlikte görüntülenecek ve “Available Process” listesi yenilenecektir. Bu durumda, sunucu tarafında açık durumda olan “Visual Studio Remote Debugging Monitor” penceresinde bulunan listeye, bağlantının kurulmuş olduğunu gösteren bir satır daha eklenecektir.

Visual Studio 2010 Remote Debugging Monitor (Administrator) Connected

Şekil 10

3. “Available Process” listesinden ilgili process’i (sunucuda çalışan uygulamayı) bulun ve üzerine çift tıklayarak “Attach” işlemini tamamlayın. Bu noktadan sonra, istediğiniz yere “debug point” koyarak debug işlemini gerçekleştirebilirsiniz.

KARŞILAŞILABİLECEK MESAJ EKRANLARI

Firewall Mesajı (Elevated Privilages Required)

1. Remote Debug için bağlantı yapıldığı sırada, alttaki şekilde bir mesaj alırsanız (To continue debugging, the firewall needs to be configured. Configuring the firewall requires elevated privilages), bağlantı talebinizin firewall tarafından kesildiği anlamına gelir. Bu mesaj ile size, firewall üzerinde gereken ayarlamanın yapılmasını isteyip istemediğiniz sorulur. “Yes” butonuna tıklayarak devam edin.

Elevated Privileges Required

Şekil 11

2. Yukarıdaki mesaja “Yes” deyip geçtikten sonra, altta şekil 11 ile gösterilen ekran (Configure Firewall for Remote Debugging - The Windows Firewall on this machine is currently blocking remote debugging. Remote debugging requires that the debugger be allowed to receive information from the network. Remote debugging also requires DCOM (TCP Port 135) and IPSEC (UDP 4500 / UDP 500) be unblocked) gelecektir.

Configure Firewall for Remote Debugging - The Windows Firewall on this machine is currently blocking remote debugging. Remote debugging requires that the debugger be allowed to receive information from the network. Remote debugging also requires DCOM (TCP Port 135) and IPSEC (UDP 4500 / UDP 500) be unblocked

Şekil 12

Bu ekrandaki ikinci veya üçüncü seçeneği işaretleyerek “OK” butonuna tıklayın. Bu şekilde, firewall bağlatıya izin verilecek şekilde ayarlanmış olur. Ancak dikkat edilmesi gereken bir konu da, TCP 135 ve UDP 4500 veya UDP 5000 portlarının firewall üzerinden açılmış olmasıdır.

Bağlantı Mesajları

1. Remote Debug için bağlantı yapıldığı sırada, alttaki şekilde bir mesaj alırsanız (Unable to connect to the Microsoft Visual Studio Remote Debugging Monitor named IP. The Microsoft Visual Studio Remote Debugging Monitor (MSVSMON.EXE) does not appear to be running on the remote computer. Please see Help for assistance), debug yapılacak sunucudaki “Remote Debugger”ı açıp açmadığınızı kontrol edin. Açmamışsanız, şekil 6 ile gösterildiği biçimde açın.

Unable to connect to the Microsoft Visual Studio Remote Debugging Monitor named IP. The Microsoft Visual Studio Remote Debugging Monitor (MSVSMON.EXE) does not appear to be running on the remote computer. Please see Help for assistance

Şekil 13

SUNUCUDA AÇIK OLAN PROCESS İSİMLERİNİ ALMA

1. “Command Prompt”u altta şekil 14 ile gösterildiği biçimde açın.

Command Promp'u yönetici yetkisiyle açma

Şekil 14

 

2. “Command Promt”u açtıktan sonra alttaki komutları yazın: Komutların yazılmış ve sonucu alınmış görüntüsü şekil 15 ile gösterilmiştir.

     - cd c:\Windows\System32\inetsrv

     - appcmd list wp

appcmd list wp

Şekil 15

Şekil 15’de de görüldüğü gibi, sunucuda çalışmakta olan “Worker Process”lerin numaraları listelenmiştir. Proje process’e attach edilirken açılan “Attach to Process” penceresinde bulunan “ID” numaraları, “Worker Process” numaralarıdır ve bu numar ile, projenizi hangi process’e attach edeceğinizi belirleyebilirsiniz.

Ayrıca, yukarıda “Command Promt”a yazılan komutlar ile yapılan işlem için bir “bat” dosyası hazırlamak isterseniz, yazmanız gereken örnek kod alttaki şekilde olacaktır.

Command Promt'a yazılan komutlar ile yapılan işlem için bat dosyası oluşturma

Şekil 16

Yazar Hakkında

Hakan Keskin

Hakan Keskin

www.yazilimdilleri.net

1997 yılında Elektrik-Elektronik Mühendisliği bölümünden mezun oldu. 2002 yılından beri profesyonel olarak yazılım geliştiriyor. Çeşitli firmalarda; araç takip, personel devam kontrol, otopark otomasyonu, çevre güvenlik, telemetrik kontrol, hemşire çağrı, Gsm-Gprs haberleşme, alarm kontrol sistemleri ve e-devlet projeleri geliştirdi. 2009 yılından buyana, e-devlet projelerinde, yazılım altyapısı (framework) çalışmalarında bulunmaktadır.

Sosyal Medya

ORANLAR

  • 9317izleme

Arkadaşlarınla Paylaş

  • Tweet

0 Yorum

Yorum Yaz / Soru Sor

Lütfen yorum yazmak veya soru sormak için üye girişi yapınız.

Son Yorumlar

  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Böyle bir sayfalama ağ trafiğini hafifleti...
  • Merhaba, ellerinize sağlık çok yardımcı ol...
  • Merhaba Bu uygulama örneğinden ASP.net ...
  • Hocam Link başka sayfaya yönlendiriyor.

En Güncel Sorular

  • Bilgilendirme maili (C#.Net)
  • Power Pivot (Sharepoint 2010)
  • BigInteger, BigDecimal (Asp.Net ve Asp.Net MVC)
  • visual C# ile asp nette veritabanı islemleri (Asp.Net ve Asp.Net MVC)
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ? (Sharepoint 2010)

En Son Cevap Verilen Sorular

  • Bilgilendirme maili
  • BigInteger, BigDecimal
  • visual C# ile asp nette veritabanı islemleri
  • Share Point ile Dosya Arşiv Yönetim Sistemi yapılabilir mi ?
  • txt dosyasına veri yazma

Twitter

Takip et: @yazilim_dilleri

En Çok Okunanlar

Elif BAYRAKDAR

C# ile SQL Server Bağlantısı, Insert, Update ve Delete Sorguları

23.05.2013

  • 123737
  • 0
Hakan Keskin

C# ile Windows Service Projesi Oluşturma, Debug Etme ve Setup Hazırlama

17.12.2013

  • 70792
  • 0
batuhan avlayan

Php - Mail Gönderme (İletişim Formu)

02.09.2013

  • 51467
  • 0

Sponsorlar

KODLAB
Pluralsight
Exchange server is
Office 365
YAZILIM DİLLERİ
Yukarı Çık
  • Hakkımızda
  • Facebook
  • Twitter
  • RSS

© Yazılım Dillerinin Buluşma Noktası | Kaynak belirtildiği sürece makaleler kopyalanabilir.
YazilimDilleri.Net sitesinde yer alan kullanıcıların oluşturduğu tüm içeriklerin yayınlanması ile ilgili yasal yükümlülükler içeriği oluşturan kullanıcıya aittir, YazilimDilleri.Net hiçbir şekilde sorumlu değildir.

Kapat

Giriş Yap

Kullanıcı Adı

Şifre

Şifremi Unuttum

KULLANICI GİRİŞİ