Debugging Shell Extensions BRUKE DELPHI

Denne artikkelen beskriver detaljene debugging Shell extensions skrevet med Borland Delphi eller C ++ Builder.IntroductionNowadays integrerte programmering miljøer - Borland Delphi og Borland C ++ Builder representerer heller praktisk måte for å utvikle Windows Shell extensions (videre: Shell extensions) .I motsetning til Microsofts utviklingsmiljø, der alle Shell-utvidelse kode er innebygd i malen, generert ved hjelp av, Delphi og C ++ Builder gir deg muligheten til å bruke lignende mal Wizards, det gir også en raskere og enkel visuell tilnærming for Shell extensions utviklings, for eksempel komponenter pakken (www.shellplus.com) .I alle fall det viktige spørsmålet er debugging av Shell extensions. Denne artikkelen ble skrevet for å hjelpe programmerere, som bruker Borland Delphi (C ++ Builder) for å utvikle Shell extensions. Det vil være like nyttig for både de som bruker visuell tilnærming, og de som skriver Shell extensions "fra scratch" .Som for alle andre DLL debugging du bør angi vertsprogrammet for Shell forlengelse. Din Shell forlengelse vil bli lastet inn i adresseområdet av dette programmet. I vårt tilfelle en slik søknad er representert av Windows Utforsker. Gå til menyen Run | Parametere ..., trykker du på knappen Bla gjennom og velge Explorer.exe-filen fra Windows-katalogen. Ikke skynde seg å starte debugging skjønt, det er mange viktige nyanser ahead.You bør inkludere all nødvendig informasjon for feilretting i prosjektet. For dette formålet åpne vinduet (ved hjelp av menyen Project | Alternativer ...), går du videre til kategorien og i gruppen sjekke elementet. Det bør aktivere generasjon spesielle data for ekstern feilsøking, som også er nødvendig for debugging COM-applikasjoner. Når du er ferdig med debugging av Shell forlengelse ikke glem å slå av dette alternativet, som det betydelig øker størrelsen på modulen og skaper en enda større størrelse fil med filtypen * .rsm, som lagrer alle symbolene for fjern feilsøking. For enkelhets skyld av debugging det er også anbefalt å sjekke inn på fanen for dialog. Det vil tillate deg å holde orden på det interne arbeidet med modulene, som ikke var inkludert i listen over prosjektet modules.You bør også huske på tilgjengeligheten av kildekoden til Shell forlengelse for Delphi debugger. De bør være plassert i den aktuelle Delphi katalogen eller banen til dem skal være registrert i prosjekt | alternativer | . Kataloger /Conditionals, element - .På ferdigstillelse av alle justeringer i prosjektets egenskaper du bør gjenoppbygge hele prosjektet (gjennom menyvalget Prosjekt | Bygg ...) Debugging Shell extensions under Windows XP og DelphiIf du bruker Windows XP, bør du har vanskeligheter med feilsøking DLL-biblioteker. De er som følger - Delphi debugger ikke laste debugging informasjonssymboler fra library.This feil er korrigert for Delphi 7, men hvis du jobber med tidligere versjoner, kan du finne følgende råd nyttig: gjøre alle forberedelser for feilsøking som beskrevet ovenfor, og deretter starte feilsøking. Når den viktigste applikasjonen er startet, bytte til Delphi og trykk på Ctrl + Alt + M kombinasjon av taster. I åpnet listen over lastet moduler finne din modul, høyreklikk på den og velg Reload Symbol Table. Skriv inn hele banen til DLL i vinduet, som vil vises, og trykk OK. Den debugging symboler tabellen fjern skal lastes inn på nytt, og du vil få muligheten til å sette opp stoppunkter og spore Shell forlengelse work.Preparing MS WindowsThe bærer av Shell funksjonalitet er Windows Explorer. På dataskjermen kan du se slike objekter som Desktop, oppgavelinjen, og innholdet i mappene. Alle disse stedene er støttet av Windows Utforsker, og du kan se hans prosess i Task Manager.The bundet til den prosessen er referert til som Explorer.exe. Du kan også se det, at noen ganger flere eksemplarer av denne prosessen er i gang. Ikke bli overrasket - det avhenger av Windows-egenskaper, som vil bli vist later.Windows Shell losser automatisk et dynamisk bibliotek når den interne disken er lik null, men det skjer bare ved utløpet av en viss tid. Det er gjort for å akselerere arbeidet med miljøet, men det er ikke alltid praktisk når du skriver eller debugging Shell extensions innenfor rammene av en operativ system - ved utarbeidelse av en allerede registrert Shell forlengelse sin fil kan vises blokkert for skriving. For de operative systemer av versjoner tidligere enn Windows 2000 kan du redusere denne perioden ved å mate den følgende informasjonen i registeret: HKLM Software Microsoft Windows Current Explorer AlwaysUnloadDllWhen du er ferdig med debugging av Shell forlengelse ikke glem å slå av dette alternativet, som den har en dårlig effekt på Windows productivity.In ethvert operativt system er det mulig å bruke følgende metode for å starte Windows Shell etter debugging: Legg i prosjektet for debugging i Delphi.Choose "End of work" fra "OPPSTART" menu.Press knappene CTRL + ALT + DEL samtidig og klikk "Nei" i "End of arbeid med Windows" dialog. I Windows 2000 klikker "Avbryt". Som et resultat Shell skal losses fra minnet i datamaskinen (Oppgavelinje, ikoner fra skrivebordet og åpne vinduer med innholdet i mapper og disker vil forsvinne), men alle andre programmer skal kjøre, inkludert Delphi med project.Adjust alle egenskapene som er nødvendige for Shell extensions debugging og starte debugger. Shell skal starte normalt, men nå vil det være arbeider under debugger 's control.Debugging Shell extensions under Windows NT /2000 /XP kan du konfigurere starten på flere eksemplarer av Windows Explorer (separate kopier for Oppgavelinje, for hvert vindu med innholdet i mapper eller disker, etc.). Som et resultat vil du være i stand til å feilsøke Shell extensions uten lossing Task Bar og Desktop, som er mye mer praktisk. For å sette opp denne muligheten bør du legge til følgende informasjon til registeret: HKEY_CURRENT_USER \\ Software \\ Microsoft \\ Windows \\ Currentversion \\ Explorer \\ DesktopProcess (REG_DWORD) = 1Hvis gjøre funksjonen trer i kraft bør du logge av og deretter Logg på. Når du er ferdig med debugging av Shell forlengelse ikke glem å slå av dette alternativet, da det bremser ned Windows considerably.Shell Extensions DebuggingAfter alle forberedelser er gjort kan du trykke på Run (F9) og starte feilsøkingen av Shell forlengelse. Sett opp avbruddspunkter på de riktige stedene, bruker du knappene "Program Pause" og "Program Tilbakestill" om nødvendig. Det er ingen andre forskjeller mellom debugging Shell extensions og debugging vanlige Delphi applikasjoner. Også, ikke bli overrasket hvis bryte prosjektet debugging gjennom vil føre til en automatisk Windows Utforsker lasting. Det er standard reaksjon av Windows feil mens avslutte en Explorer prosess. Å ende opp med feilsøking prosessen med hell kan du dra nytte av den måten som er beskrevet ovenfor (gjennom start | End of work) .Windows Explorer er en multi-tråd program. For hver Shell forlengelse i bruk skaper det en egen tråd, der det fungerer med det videre. Derfor ikke bli overrasket dersom det i løpet av trinn-for-trinn-debugging du vil plutselig bli kastet til en annen kode, hvor du har feilsøkt nylig, og deretter tilbake til det opprinnelige stedet. Du kan holde oversikt over dine reiser gjennom trådene i vinduet Thread status, som kan åpnes gjennom menyen Vis | Debug Windows | Threads.As du kan se, er Shell forlengelse debugging ikke komplisert. Vi ønsker deg lykke til i å utvikle nyttige og vellykkede Shell extensions.



Previous:
Next Page: