![]() |
DebugViewer von Assarbad
Ich versuche den Viewer zu initialisieren.
Kein Ahnung wie ich das teil ans laufen bekomme. Er schreibt Zitat:
Dann kann ich den String den ich debuggen will aus kommentieren Zitat:
{$DEFINE DEBUGGING} aus kommentiere. {!$DEFINE DEBUGGING} so weit so gut. Das Problem ist nur sein Include Pas
Delphi-Quellcode:
er meldet hier schon bei
const
Debug______szDebugPipeName = '\\.\pipe\AssasDebugView'; function Debug______Format(fmt: string; params: array of const): string; var pdw1, pdw2: PDWORD; i: integer; pc: PCHAR; const fmtbufsize = 1024; begin pdw1 := nil; if High(params) >= 0 then GetMem(pdw1, (High(params) + 1) * sizeof(Pointer)); pdw2 := pdw1; for i := 0 to High(params) do begin pdw2^ := PDWORD(@params[i])^; inc(pdw2); end; pc := GetMemory(fmtbufsize); if Assigned(pc) then try SetString(Result, pc, wvsprintf(pc, PCHAR(fmt), PCHAR(pdw1))); finally if (pdw1 <> nil) then FreeMem(pdw1); FreeMem(pc); end else Result := ''; end; function Debug______GetMyName: string; var buf: array[0..260] of char; // 260 = MAX_PATH idx: integer; begin ZeroMemory(@buf, sizeof(buf)); GetModuleFileName(hInstance, @buf, sizeof(buf)); for idx := sizeof(buf) - 1 downto 0 do if buf[idx] = '\' then break; SetString(result, pchar(@buf[idx]), lstrlen(@buf[idx])); end; procedure DbgOut(s: string); var hPipe: THandle; pc: PChar; numWritten: DWORD; temps: string; const bufsize = 4096; begin hPipe := CreateFile(Debug______szDebugPipeName, GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_FLAG_WRITE_THROUGH, 0); if hPipe <> INVALID_HANDLE_VALUE then try pc := GetMemory(bufsize); if Assigned(pc) then try temps := Debug______Format('[%s -> PID = %d]: ', [Debug______GetMyName, GetCurrentProcessID]); lstrcpyn(pc, @temps[1], bufsize); if not (length(s) < (bufsize - lstrlen(pc))) then setlength(s, bufsize - lstrlen(pc) - 1); lstrcat(pc, @s[1]); WriteFile(hPipe, pc^, lstrlen(pc), numWritten, nil); finally FreeMemory(pc); end; finally CloseHandle(hPipe); Sleep(200); end; end;
Delphi-Quellcode:
function Debug______Format(fmt: string; params: array of const): string;
var pdw1, pdw2: PDWORD; Zitat:
da er aber anscheinend einen Grund hatte das nicht zu tun würde ich gerne wissen warum und wie ich das teil ans laufen bekomme. Ich brauche deinen DebugViewer der was taugt. ;) Innerhalb der IDE nicht erst später wie von sysinternals gruss |
AW: DebugViewer von Assarbad
unter D7 findest Du ...\SOURCE\RTL\SYS\Types.PAS
mit
Delphi-Quellcode:
vllt. hilft Dir das weiter.
type
TOleChar = WideChar; POleStr = PWideChar; PPOleStr = ^POleStr; PCLSID = PGUID; TCLSID = TGUID; { 64-bit large integer } Largeint = Int64; {$EXTERNALSYM Largeint} // DWORD = LongWord; // {$EXTERNALSYM DWORD} PDWORD = ^DWORD; {$EXTERNALSYM PDWORD} Gruß K-H |
AW: DebugViewer von Assarbad
Zitat:
Das Problem ist das er die Types nicht erkennt weil halt keine Uses eingebunden sind. Oder sehe ich das falsch ? EDIT: Wenn ich die Type einbaue habe ich immer noch riesen Probleme mit anderen Typen. Siehe shot. gruss |
AW: DebugViewer von Assarbad
Könnte es nicht sein, das die notwendige Unit standardmäßig eingebunden war/ist ?
Du findest den Typ übrigens auch in der Windows.Pas. Gruß K-H |
AW: DebugViewer von Assarbad
Zitat:
Aber schau dir mal meinen Shot an. ;) Wenn ich deine Einbaue meckert er trotzdem noch über 100 andere. Wie soll diese UNIT funktionieren OHNE Uses ? gruss |
AW: DebugViewer von Assarbad
Von wann ist sein Programm? Und Assarbads (aka Olli) Sourcen waren schon immer etwas abgedreht. :?
|
AW: DebugViewer von Assarbad
Zitat:
Ich habe es jetzt mal Windows bei den Uses der *.dpr addiert macht keinen unterschied. Denke das Teil kann man vergessen. gruss |
AW: DebugViewer von Assarbad
Zitat:
![]() ![]() |
AW: DebugViewer von Assarbad
Zitat:
Zitat:
Außerhalb nutzt es mir leider nichts. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz