Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

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

Re: OutputDebugString

  Alt 29. Jul 2005, 10: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