* We split stepping for source debugging into step over/into/out depending on how it handles function calls. Step Into is the same behaviour as before - it steps to the next source line executed regardless of if it's inside a function call. Step Over is similar but will not enter function calls. We define that as the callstack growing (so staying the same or shrinking - returning from a function - is OK), and this is as accurate as the underlying debug information. Step Out will run until the callstack shrinks, i.e. returning from a function. * This is a slight behaviour change of keyboard shortcuts - F10 was effectively doing step into and will now step over. F11 will step into which is the old behaviour. * All these variants have backwards versions, and to remain consistent we keep the shift modifier as forwards/backwards. This differs from visal studio where step out is shift-F10. * The seems like the best balance - using any other variant would likely confuse muscle memory of anyone used to visual studio (where these shortcuts are intended to mimick), if only because F10 would be step into whether or not F11 is used for step over or some other key which would likely be even more confusing either way. Trying to twist to use Shift-F10 for step out would be inconsistent with the other backwards running operations and likely cause more confusion than it saves in matching VS's shortcuts exactly. Also an accidental Shift-F10 is not too destructive, the user can realise it didn't Step Out forwards, and press Ctrl-F10 or look up the button. * The hope is that most likely people doing source debugging and familiar with these keys expect F10 to step over, so the previous behaviour was unexpected but easy to work around, and that changing the meaning of the key won't disrupt them. Or at least the disruption is less than other alternatives.
RenderDoc is a frame-capture based graphics debugger, currently available for Vulkan, D3D11, D3D12, OpenGL, and OpenGL ES development on Windows 7 - 10, Linux, Android, Stadia, and Nintendo Switch™. It is completely open-source under the MIT license.
If you have any questions, suggestions or problems or you can create an issue here on github, email me directly or come into IRC or Discord to discuss it.
To install on windows run the appropriate installer for your OS (64-bit | 32-bit) or download the portable zip from the builds page. The 64-bit windows build fully supports capturing from 32-bit programs. On linux there is a binary tarball available, or your distribution may package it. If not you can build from source.
- Downloads: Stable and nightly builds: https://renderdoc.org/builds ( Symbol server )
- Documentation: HTML online, CHM in builds, Videos
- Contact: baldurk@baldurk.org, #renderdoc on OFTC IRC, Discord server
- Code of Conduct: Contributor Covenant
- Information for contributors: All contribution information, Compilation instructions, Roadmap
- Community extensions: Extensions repository
Screenshots
|
|
|---|---|
|
|
API Support
| Windows | Linux | Android | Stadia | |
|---|---|---|---|---|
| Vulkan | ✔️ | ✔️ | ✔️ | ✔️ |
| OpenGL ES 2.0 - 3.2 | ✔️ | ✔️ | ✔️ | N/A |
| OpenGL 3.2 - 4.6 Core | ✔️ | ✔️ | N/A | N/A |
| D3D11 & D3D12 | ✔️ | N/A | N/A | N/A |
| OpenGL 1.0 - 2.0 Compat | ✖️ | ✖️ | N/A | N/A |
| D3D9 & 10 | ✖️ | N/A | N/A | N/A |
| Metal | N/A | N/A | N/A | N/A |
- Nintendo Switch™ support is distributed separately for authorized developers as part of the NintendoSDK. For more information, consult the Nintendo Developer Portal.
Downloads
There are binary releases available, built from the release targets. If you just want to use the program and you ended up here, this is what you want :).
It's recommended that if you're new you start with the stable builds. Nightly builds are available every day from the v1.x branch here if you need it, but correspondingly may be less stable.
Documentation
The text documentation is available online for the latest stable version, as well as in renderdoc.chm in any build. It's built from restructured text with sphinx.
As mentioned above there are some youtube videos showing the use of some basic features and an introduction/overview.
There is also a great presentation by @Icetigris which goes into some details of how RenderDoc can be used in real world situations: slides are up here.
License
RenderDoc is released under the MIT license, see LICENSE.md for full text as well as 3rd party library acknowledgements.
Compiling
Building RenderDoc is fairly straight forward on most platforms. See Compiling.md for more details.
Contributing & Development
I've added some notes on how to contribute, as well as where to get started looking through the code in Developing-Change.md. All contribution information is available under CONTRIBUTING.md.
