Jump to content

Windows/Tools: Difference between revisions

From KDE Community Wiki
Jstaniek (talk | contribs)
Nmariusp (talk | contribs)
https://github.com/lucasg/Dependencies
 
(20 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Required or recommended tools for development and using KDE libraries and applications under MS Windows.
Required or recommended tools for development and using KDE libraries and applications under MS Windows.


Line 7: Line 8:
[[Image:ProcessExplorer.jpg|thumb|center|Process Explorer]]
[[Image:ProcessExplorer.jpg|thumb|center|Process Explorer]]


== Very Sleepy ==
A call profiler for windows; it supports msvc at the moment (it is based on dbghelp.dll) and should give you at least some hints.
[http://www.codersnotes.com/sleepy sleepy]
== Console 2 ==
== Console 2 ==
''"Console is a Windows console window (cmd.exe) enhancement, useful for using when you depend on this shell, e.g. with msvc. Console features include: multiple tabs, text editor-like text selection, different background types, alpha and color-key transparency, configurable font, different window styles."'' (GPL, for Windows 2000 or newer) [http://sourceforge.net/projects/console more]
''"Console is a Windows console window (cmd.exe) enhancement, useful for using when you depend on this shell, e.g. with msvc. Console features include: multiple tabs, text editor-like text selection, different background types, alpha and color-key transparency, configurable font, different window styles."'' (GPL, for Windows 2000 or newer) [http://sourceforge.net/projects/console more]
Line 12: Line 16:


== Debugging Tools for Windows ==
== Debugging Tools for Windows ==
You can use ''Debugging Tools for Windows'' package to debug drivers, applications, and services on systems with Windows NT kernel. [http://www.microsoft.com/whdc/devtools/debugging/default.mspx more]
You can use programs from ''Debugging Tools for Windows'' package to debug drivers, applications, and services on systems with Windows NT kernel. (freeware) [http://www.microsoft.com/whdc/devtools/debugging/default.mspx more]


Among others, it does contain
Among [http://msdn2.microsoft.com/en-us/library/cc267862.aspx others], ''Debugging Tools for Windows'' do contain:
*WinDbg (windbg.exe), a user-mode and kernel-mode debugger with a graphical interface,
 
=== WinDbg ===
WinDbg (windbg.exe), a user-mode and kernel-mode debugger with a graphical interface. It can also be used to debug user-mode crash dumps (postmortem debugging).
 
''Note:'' Updated location at [http://msdn.microsoft.com/en-us/windows/hardware/gg454513.aspx] (Standalone Debugging Tools for Windows 8.1 (WinDbg))
 
Form [http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx]: ''"WinDbg provides source-level debugging through a graphical user interface and a text-based interface. WinDbg uses the Microsoft Visual Studio debug symbol formats for source-level debugging. It can access any public function's names and variables exposed by modules that were compiled with Codeview (.pdb) symbol files.
WinDbg can view source code, set breakpoints, view variables (including C++ objects), stack traces, and memory. It includes a command window to issue a wide variety of commands not available through the drop-down menus. [..] It also allows you to remotely debug user-mode code."'',
 
To change the postmortem debugger to WinDbg, run windbg -I. (The I must be capitalized.)
 
Resources related to WinDbg:
* [http://msdn2.microsoft.com/en-us/library/cc266343.aspx Enabling Postmortem Debugging]
* [http://software.rkuster.com/windbg/WinDBG_A_to_Z.pdf WinDbg. From A to Z!   ] - Theory and examples (56 pages, 580 Kb)
* [http://software.rkuster.com/windbg/printcmd.htm Common WinDbg Commands (Thematically Grouped)]
* [http://www.networkworld.com/news/2005/041105-windows-crash.html Tutorial on solving system crashes using WinDbg]
 
=== Documentation ===
*"Debugging Tools for Windows" documentation (debugger.chm) (see [http://msdn2.microsoft.com/en-us/library/cc267445.aspx online version]),
 
=== CDB ===
*CDB (cdb.exe), a user-mode debugger with a console interface,
*CDB (cdb.exe), a user-mode debugger with a console interface,
*"Debugging Tools for Windows" documentation (debugger.chm),
 
*Logger (logger.exe and logexts.dll), a tool and a plugin DLL that record the function calls and other actions of a program,
=== Logger ===
*LogViewer  (logviewer.exe), a tool that displays the logs created by Logger,
Logger (logger.exe and logexts.dll), a tool and a plugin DLL that record the function calls and other actions of a program,
*GFlags (Global Flags Editor, gflags.exe), a tool used to control registry keys and other settings
 
=== LogViewer ===
LogViewer  (logviewer.exe), a tool that displays the logs created by Logger,
 
=== GFlags ===
*GFlags (Global Flags Editor, gflags.exe), a tool used to control registry keys and other settings
 
=== The Breakin tool ===
*The Breakin tool  (breakin.exe), a tool used to cause a user-mode break to occur in a process,
*The Breakin tool  (breakin.exe), a tool used to cause a user-mode break to occur in a process,
=== The Kill tool ===
*The Kill tool  (kill.exe), a tool used to terminate a process,
*The Kill tool  (kill.exe), a tool used to terminate a process,
*UMDH (User-Mode Dump Heap utility, umdh.exe), a tool used to analyze heap allocations
 
=== UMDH ===
*UMDH (User-Mode Dump Heap utility, umdh.exe), a tool used to analyze heap allocations


== DebugView ==
== DebugView ==
Debug messages (logs) generated by kDebug() and kWarning() are not visible on MS Windows unless application is compiled in so-called CONSOLE subsystem. To show these messages also in WINDOWS subsystem, you can use DebugView tool. The tool offers searching in logs, filtering them using wildcards and saving them to file. (freeware) [http://www.microsoft.com/technet/sysinternals/utilities/debugview.mspx more]
Debug messages (logs) generated by kDebug() and kWarning() are not visible on MS Windows unless application is compiled in so-called CONSOLE subsystem. To show these messages also in WINDOWS subsystem, you can use DebugView tool. The tool offers searching in logs, filtering them using wildcards and saving them to file. (freeware) [http://technet.microsoft.com/en-us/sysinternals/bb896647 more]
[[Image:DebugViewWindows.png|thumb|center|DebugView window]]
[[Image:DebugViewWindows.png|thumb|center|DebugView window]]


Line 32: Line 67:
A tool for checking dependency of shared libraries. This utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. (freeware) [http://www.dependencywalker.com/ more]
A tool for checking dependency of shared libraries. This utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. (freeware) [http://www.dependencywalker.com/ more]
[[Image:DependencyWalkerWindows.png|thumb|center|Dependency Walker window]]
[[Image:DependencyWalkerWindows.png|thumb|center|Dependency Walker window]]
As per https://en.wikipedia.org/wiki/Dependency_Walker there is a new tool called Dependencies.exe https://github.com/lucasg/Dependencies .


== Process Monitor ==
== Process Monitor ==
Process Monitor is an advanced monitoring tool for Windows that shows real-time file system, Registry and process/thread activity.
Process Monitor is an advanced monitoring tool for Windows that shows real-time file system, Registry and process/thread activity. Use it to discover what process is using given files (very useful knowledge since Windows can block these files). [http://technet.microsoft.com/de-de/sysinternals/bb896645(en-us).aspx more]
[http://technet.microsoft.com/de-de/sysinternals/bb896645(en-us).aspx more]
 
=== Handle ===
Command line program used to find out which program has a particular file or directory open. Handle is a utility that displays information about open handles for any process in the system. [http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx more]
 
== AutoRuns ==
AutoRuns provides very comprehensive knowledge of auto-starting locations, shows what programs are configured to run during system bootup or login, and shows the entries in the order Windows processes them. These programs include ones in your startup folder, Run, RunOnce, and other Registry keys. [http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx more]
 
== More System Diagnostics Tools ==
*[http://technet.microsoft.com/en-us/sysinternals/default.aspx Windows Sysinternals: File and Disk Utilities, Networking Utilities, Process Utilities, Security Utilities, System Information, Miscellaneous Utilities]
*[http://msdn2.microsoft.com/en-us/library/aa139733.aspx Debugging and Error Handling, Performance Monitoring, Performance Tools Kit, Error Reporting, Windows Events]

Latest revision as of 02:07, 23 October 2022

Required or recommended tools for development and using KDE libraries and applications under MS Windows.

Process Explorer

"Ever wondered which program has a particular file or directory open? Now you can find out. Process Explorer shows you information about which handles and DLLs processes have opened or loaded." (freeware, for all Windows versions) more

Process Explorer

Very Sleepy

A call profiler for windows; it supports msvc at the moment (it is based on dbghelp.dll) and should give you at least some hints. sleepy

Console 2

"Console is a Windows console window (cmd.exe) enhancement, useful for using when you depend on this shell, e.g. with msvc. Console features include: multiple tabs, text editor-like text selection, different background types, alpha and color-key transparency, configurable font, different window styles." (GPL, for Windows 2000 or newer) more

Console window

Debugging Tools for Windows

You can use programs from Debugging Tools for Windows package to debug drivers, applications, and services on systems with Windows NT kernel. (freeware) more

Among others, Debugging Tools for Windows do contain:

WinDbg

WinDbg (windbg.exe), a user-mode and kernel-mode debugger with a graphical interface. It can also be used to debug user-mode crash dumps (postmortem debugging).

Note: Updated location at [1] (Standalone Debugging Tools for Windows 8.1 (WinDbg))

Form [2]: "WinDbg provides source-level debugging through a graphical user interface and a text-based interface. WinDbg uses the Microsoft Visual Studio debug symbol formats for source-level debugging. It can access any public function's names and variables exposed by modules that were compiled with Codeview (.pdb) symbol files. WinDbg can view source code, set breakpoints, view variables (including C++ objects), stack traces, and memory. It includes a command window to issue a wide variety of commands not available through the drop-down menus. [..] It also allows you to remotely debug user-mode code.",

To change the postmortem debugger to WinDbg, run windbg -I. (The I must be capitalized.)

Resources related to WinDbg:

Documentation

  • "Debugging Tools for Windows" documentation (debugger.chm) (see online version),

CDB

  • CDB (cdb.exe), a user-mode debugger with a console interface,

Logger

Logger (logger.exe and logexts.dll), a tool and a plugin DLL that record the function calls and other actions of a program,

LogViewer

LogViewer (logviewer.exe), a tool that displays the logs created by Logger,

GFlags

  • GFlags (Global Flags Editor, gflags.exe), a tool used to control registry keys and other settings

The Breakin tool

  • The Breakin tool (breakin.exe), a tool used to cause a user-mode break to occur in a process,

The Kill tool

  • The Kill tool (kill.exe), a tool used to terminate a process,

UMDH

  • UMDH (User-Mode Dump Heap utility, umdh.exe), a tool used to analyze heap allocations

DebugView

Debug messages (logs) generated by kDebug() and kWarning() are not visible on MS Windows unless application is compiled in so-called CONSOLE subsystem. To show these messages also in WINDOWS subsystem, you can use DebugView tool. The tool offers searching in logs, filtering them using wildcards and saving them to file. (freeware) more

DebugView window

Dependency Walker

A tool for checking dependency of shared libraries. This utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. (freeware) more

Dependency Walker window

As per https://en.wikipedia.org/wiki/Dependency_Walker there is a new tool called Dependencies.exe https://github.com/lucasg/Dependencies .

Process Monitor

Process Monitor is an advanced monitoring tool for Windows that shows real-time file system, Registry and process/thread activity. Use it to discover what process is using given files (very useful knowledge since Windows can block these files). more

Handle

Command line program used to find out which program has a particular file or directory open. Handle is a utility that displays information about open handles for any process in the system. more

AutoRuns

AutoRuns provides very comprehensive knowledge of auto-starting locations, shows what programs are configured to run during system bootup or login, and shows the entries in the order Windows processes them. These programs include ones in your startup folder, Run, RunOnce, and other Registry keys. more

More System Diagnostics Tools