AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OutputDebugString

Ein Thema von Luckie · begonnen am 28. Jul 2005 · letzter Beitrag vom 29. Jul 2005
Antwort Antwort
Seite 2 von 2     12   
Olli
(Gast)

n/a Beiträge
 
#11

Re: OutputDebugString

  Alt 29. Jul 2005, 00:27
Zitat von Luckie:
Habs. Ich arbeite gewöhnlich asl einfacher Benutzer an meinem Rechner. DebugView muss man aber als Administrator starten. Debuge ich jetzt die Anwendung, mus sman sie auch unter dem gleichen Konto starten.
Eigenartig, vielleicht solltest du es dann über eine eigene Anwendung lösen, die als Debugger agiert.

Alternativ gibt es einen Mutex ("DBWIN") und ein entsprechendes MMF, welches den String bekommt. Also das könntest du entsprechend auslesen. Ein Event gab's IMO auch.
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#12

Re: OutputDebugString

  Alt 29. Jul 2005, 00:30
Ich weiß, die Frage klingt ziemlich bescheuert....

Ist es eigentlich normal, dass Debug View mein Programm nicht "captured", wenn ich es direkt aus der IDE starte?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#13

Re: OutputDebugString

  Alt 29. Jul 2005, 10:24
Zitat von Daniel G:
Ist es eigentlich normal, dass Debug View mein Programm nicht "captured", wenn ich es direkt aus der IDE starte?
Ist mir auch schon aufgefallen. Der Grund wird wohl sein, dass schon die Delphi IDE die Daten "captured".
Könnte sein, dass DebugActiveProcess innerhalb von DebugView fehlschlägt.
Andreas
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#14

Re: OutputDebugString

  Alt 29. Jul 2005, 11:02
Zitat von shmia:
Ist mir auch schon aufgefallen. Der Grund wird wohl sein, dass schon die Delphi IDE die Daten "captured".
Könnte sein, dass DebugActiveProcess innerhalb von DebugView fehlschlägt.
Nein, hat nix mit dieser Funktion zu tun, sondern vielmehr damit, wie OutputDebugString arbeitet. Wenn der aktuelle Prozess nämlich in einem Debugger läuft, dann wird eine Exception ausgelöst und der Debugger bekommt dank dieser Exception den String (den muß er glaube ich noch auslesen). Wenn der Prozess ohne Debugger läuft, geht alles an den - nennen wir es mal - "Kerneldebugger von Windows".
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

Re: OutputDebugString

  Alt 29. Jul 2005, 11:31
Zitat von Luckie:
Ich beziege mich mal hier auf diesen Beitrag in der Code-Lib: http://www.delphipraxis.net/internal...?p=51157#51157

Kann es sein, dass es dieses Feature in den Personal Versionen nicht gibt? Zu mindest passiert niochts, wenn ich Strg+Alt+V drücke und ein Eventlog finde ich im Menü 'Ansicht' auch nicht.
Ich zitiere mich mal aus dem Tutorial: Debugging in Delphi für Anfänger und Fortgeschrittene

Zitat:
...
Ereignisprotokoll [Strg + Alt + V]
Zeigt das Fenster mit dem Ereignisprotokoll an.
Das Ereignisprotokoll zeigt Prozessbotschaften, Haltepunktbotschaften, OutputDebugString-Botschaften und Fensterbotschaften an. Wenn Du mit der rechten Maustaste auf diese Registerkarte klickst, wird ein Kontextmenü angezeigt, mit dessen Optionen das Ereignisprotokoll gelöscht, in einer Textdatei gespeichert, Kommentare hinzugefügt und Optionen für das Ereignisprotokoll festgelegt werden können
...
OutputDebugString
Mit dieser API Funktion (kernel32.dll) wird beim Debuggen ein Eintrag in das Ereignisprotokoll (s.o.) geschrieben.
procedure OutputDebugString(lpOutputString: PChar); stdcall; Es ist also eine einfache Möglichkeit Informationen auszugeben, ohne Messageboxen zu benutzen.
OutputDebugString('Test'); Aber wenn OutputDebugString auch in der "Endbenutzerversion" verwendet wird, solltest Du wissen, dass das keine Delphi Funktion ist, sondern ein API Aufruf.
Wenn die Applikation nicht in einem Debugger läuft, werden diese Informationen an den Systemdebugger weitergereicht. Wenn der Systemdebugger nicht aktiv ist, geschieht nichts.
Aber wer möchte schon, dass ein "Fremder" sein Programm debuggt?
...
Das ist der Grund, warum Tools von z.B. Sysinternals auf diese Infos zugreifen können.

Und Nein, man braucht keine Admin Rechte.
Nur das Recht zum Debuggen.

[equote="MSDN - http://www.microsoft.com/technet/arc.../debugtun.mspx "]The first thing to do is to make sure that whatever interactive account you are logged on under has the SE_DEBUG_NAME (debug programs) right. All members of the local Administrators group have this privilege. If you're developing a service, you're probably a member of Administrators already, but you should keep this point in mind if you need to debug a service running on a remote machine.[/equote]

Links:
http://msdn.microsoft.com/library/de...ebugstring.asp
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

Re: OutputDebugString

  Alt 29. Jul 2005, 11:36
Zitat von MaBuSE:
Und Nein, man braucht keine Admin Rechte.
Nur das Recht zum Debuggen.
Stimmt, bei mir hat diese aber nur der Administartor. Ich sollte sie mir wohl auch mal geben.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#17

Re: OutputDebugString

  Alt 29. Jul 2005, 12:21
Zitat von Luckie:
Stimmt, bei mir hat diese aber nur der Administartor. Ich sollte sie mir wohl auch mal geben.
Allerdings, denn auch Delphis Debugger kommt um diese Beschränkungen normalerweise nicht herum.

@MaBuSE: Wenn du auch "in Tutorials" machst, willst du vielleicht bei de-delphi mitmachen? Wir haben vor durch gemeinsame Arbeit einige deutschsprachige Tutorials herauszubringen. An Korrekturlesern mangelt's nicht, aber an Autoren - wenn Interesse, dann bitte PN an mich.

Gruß,
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz