Extensiile shell shell-ului cu Delphi

Depanarea extensiilor Shell cu Delphi

În prezent, mediu integrat Borland Delphi și Borland C ++ Builder de programare este mijloc foarte convenabil pentru dezvoltarea de extensii pentru Windows Shell (denumite în continuare extensii de Shell).







Spre deosebire de mediul de dezvoltare Microsoft, în cazul în care toate extensia Shell este încorporat în șablon generat de un «Shell Extension Wizard», în Delphi puteți utiliza ca un generator de model similar, și o abordare vizuală rapidă și simplă pentru extensiile Shell în curs de dezvoltare, de exemplu, un pachet de componente Shell +. În orice caz, o problemă importantă este depanarea extensiilor Shell.

Pregătirea proiectului Delphi pentru depanarea cu Windows Shell

Trebuie să includeți toate informațiile necesare de depanare în proiectul dvs. Pentru a face acest lucru, deschideți fereastra «Opțiuni de proiect» (elementul de meniu de proiect |. Opțiuni), mergeți la fila «Linker» și «Exe și Opțiuni dll» Grupul marca steagul ca «include simboluri de depanare la distanță». Acesta include generarea de date speciale pentru depanare la distanță, care sunt, de asemenea, necesare pentru depanarea aplicațiilor COM. După terminarea lucrărilor de depanare pe extensia Shell nu uitați să dezactivați această funcție, deoarece crește foarte mult mărimea modulului și creează un fișier de dimensiune mai mare cu extensia * .rsm, care sunt stocate și simboluri de depanare la distanță. De asemenea, pentru facilitarea depanării, bifați căsuțele "Utilizați DCU-urile de depanare" din fila "Compilator" a dialogului "Opțiuni proiect". Acest lucru vă va permite să monitorizați activitatea internă a modulelor care nu sunt incluse în lista modulelor din proiectul dvs.

De asemenea, nu trebuie să uitați de disponibilitatea codului sursă pentru extensia Shell pentru depanatorul Delphi. Ei ar trebui să fie în directorul actual pentru Delphi sau trebuie să aibă o cale în proiectul | Opțiuni | Directoare / Condiții, elementul este "Debug Source Cale".

După ce ați finalizat toți pașii pentru a configura proprietățile proiectului, trebuie să recompilați complet proiectul (prin intermediul elementului de meniu Proiect | Construiți.).

Caracteristicile DLL-ului de depanare în Windows XP







Dacă lucrați în sistemul de operare Windows XP, atunci când depanați bibliotecile DLL, veți avea dificultăți. Ele constau în faptul că programul de depanare Delphi nu încarcă simboluri de depanare din bibliotecă.

Această eroare a fost stabilită în Delphi 7, dar dacă lucrați cu versiunile anterioare, trebuie să utilizați acest sfat: urmați toate pregătirile pentru depanare, așa cum este descris mai sus, începe depanare. După pornirea aplicației principale, treceți la Delphi și apăsați Ctrl + Alt + M. În fereastra deschisă a listei de module descărcate, găsiți modulul dvs., faceți clic dreapta pe el și selectați ReloadSymbol Table. În fereastra care apare, introduceți calea completă în DLL și faceți clic pe OK. Tabela de simbol de depanare trebuie să repornească și veți putea seta puncte de întrerupere și să monitorizați comportamentul extensiei Shell.

Pregătirea Windows Explorer pentru a lucra sub debugger

Funcția Shell este aplicația Windows Explorer. Puteți vedea pe ecranul computerului obiecte precum desktop, bara de activități, dosarele de Windows ale sistemului de fișiere. Toate acestea sunt implementate de aplicația Windows Explorer și puteți vedea această aplicație în Managerul de activități.

Procesul care este corelat cu acesta se numește Explorer.exe. Acolo puteți vedea că uneori aveți câteva instanțe ale acestui proces. Nu vă surprindeți - este vorba despre setările Windows, care vor fi afișate în continuare.

În orice sistem de operare, puteți utiliza următoarea metodă pentru a porni Windows Shell sub depanare:

Pentru a face această valoare eficientă, trebuie să executați Log off și apoi Log on. Nu uitați să dezactivați această funcție după finalizarea lucrărilor de depanare pe extensia Shell, deoarece are un efect negativ asupra performanței Windows.

Extensiile Shell de depanare

După toate pregătirile făcute, puteți apăsa butonul Run (F9) și puteți rula extensia Shell pentru depanare. Setați punctele de întrerupere în locurile potrivite, utilizați butoanele Pauză program și Resetare program, dacă este necesar. Debugging Shell Extensiile nu diferă de depanarea aplicațiilor convenționale Delphi. Nu vă surprindeți dacă, după defalcarea proiectului de depanare prin "Program Reset", Windows Explorer se va încărca singur. Acesta este răspunsul Windows standard la finalizarea eronată a procesului Explorer. Pentru sfârșitul normal al procesului de depanare, puteți utiliza metoda descrisă mai devreme (prin Start | Shutdown). Windows Explorer este o aplicație cu mai multe fire. Pentru fiecare extensie Shell creează un fir separat, în care funcționează cu el în viitor. Deci, nu fi surprins dacă, în timpul depanării pas cu pas, sari dintr-o dată într-o altă secțiune a codului unde ați depanat recent și apoi o readuceți din nou la vechiul loc. Pentru călătoriile dvs. prin fluxuri puteți urmări fereastra de stare a filetului, pe care o puteți deschide prin Vizualizare | Debug Windows | Fire.

După cum ați observat, depanarea extensiei Shell nu este nimic complicat. Vă doresc noroc în dezvoltarea extensiilor utile și de succes ale coajă.







Trimiteți-le prietenilor: