2012-05-09 23 views
5

Aşağıdaki kodu vardır basit VCL win32 uygulaması yazdı çalışma zamanı paketi ile inşa edilmiş bir Win32 VCL uygulama hata ayıklama:nasıl uzak

procedure TForm5.Button1Click(Sender: TObject); 
begin 
    ShowMessage('bingo'); 
end; 

ben çalışma zamanı paketleri ile uygulama derlenmiş ve aşağıdaki anahtarlar açmak etti:

  1. ayıklama Bilgisi -
  2. Onaylama gerçek>, hata ayıklama bilgilerini, yerel sembollerle, kullanım ayıklama DCUs - -> true> true
  3. uzaktan hata ayıklama simge kullanın

çıktı aşağıdaki dosyaları vardır:

  1. Project1.exe
  2. project1.rsm

iki çalışma zamanı paketleri vardır:

  1. vcl160.bpl
  2. rtl160.b Ben ayıklayıcı modunda uygulamayı çalıştırırsanız

pl ben Button1Click işleyicisi bir kesme noktası ayarlamak, yerel IDE ayıklayıcı orada duracaktır.

Daha sonra, uygulamayı çalışma zamanı paketleri ile uzaktan hata ayıklamayı denemek istiyorum.

32 bitlik windows platformuna uzak profil atayım. Test bağlantısı uzak profil ile çalışır. PAServer uzak makinede de başlatıldı.

  1. Project1.exe
  2. project1.rsm
  3. vcl160.bpl
  4. rtl160.bpl
  5. : Ben girişimi Delphi XE2 IDE ayıklayıcı ile uygulamayı çalıştırmak için zaman 4 dosyalar uzak makineye kopyalandı fark edebilirsiniz

Ancak olay günlüğü gösterir:

Module Load: Project1.exe. No Debug Info. Base Address: $00400000. Process Project1.exe (1676) 

Modülde hata ayıklama bilgisi olmadığından, tüm kesme noktaları tetiklenemez.

Çalışma zamanı paketleri olmadan tek dosya .exe uygulaması oluşturmayı denedim. Aynı uzak hata ayıklayıcı adımları çalışır ve uygulamayı uzaktan ayıklayabilirim.

Çalışma zamanı paketleri ile oluşturulan uygulamada uzaktan hata ayıklama işlemi başarısız oldu?

+0

hata ayıklamak için iyi bir uygulama aynı zamanda sizin tarafınızdan işlenen OutputDebugString, ya da bir Delphi sürümü belirtmediğiniz için bir 3d parti yazılımı – RBA

+0

kullanmak olabilir, belki bu yardımcı olabilir http://stackoverflow.com/questions/ 5018147/delphi-2010-uzak hata ayıklama-için-için-break-breakpoints-çalışma – RBA

+0

RBA: Ben Delphi XE2 güncelleme 4 kullanıyorum. Önerdiğiniz post bağımsız .exe uygulaması ve çalışma zamanı paketleri ile derlenmiş değil. –

cevap

1

Kullanılan çalışma zamanı paketlerine karşılık gelen '.dcp' dosyalarını dağıtmak zorundasınız gibi görünüyor.Debugger Notes itibaren

(XE2'de için Sürüm Notları):

çalışma zamanı paketleri ile Delphi başvuru bağlantıları, beklenen Eğer Başvurusu Dağıtım

dosyalarTemporary .dcp Ekleyerek ayıklama bilgiler sağlayın hata ayıklama bilgisi oluşturulmayabilir. Bu Mac OS X uygulamaları ve uzak Win64 veya uzak Win32 uygulamaları için geçerlidir. geçici çözümü, Deployment Manager'ı, çalışma zamanı paketi listenizdeki çalışma zamanı paketlerine karşılık gelen .dcp dosyalarını eklemek için kullanmaktır. örneğinde, rtl kullanıyorsanız, rtl.dcp dosyasını dağıtmanız gerekir.

Kullanım Embarcadero \ Rad Studio \ 9.0 \ lib dizinleri bulunan .dcp dosyaları, aşağıdaki gibi:

bir OS X uygulama için
  • : Embarcadero \ Rad Studio \ 9.0 \ lib \ osx \ salınımını Embarcadero \ Rad Studio \ uzak 32-bit Windows uygulama için 9.0 \ lib \ win64 \ sürümü
  • : Embarcadero \ Rad Studio \ 9.0 \ lib \ win32 \ sürümü
  • uzak 64-bit Windows uygulama için
+0

Hata ayıklayıcısını takip et talimatı çalışmıyor ... herhangi bir fikir? –

+0

@Chau - Üzgünüm, hayır. Aslında çalışma zamanı paketlerini hiç kullanmadım. Belgelerin yardımcı olduğunu umuyordum. Hata ayıklama klasöründeki 'dcp'ler ile bir fark yaratır mı? –

+0

@Sectac: Hem sürüm hem de hata ayıklama klasörünü denedim ve çalışmıyor. –

İlgili konular