microsoft / microsoft/win32metadata
The enum `IMAGE_DEBUG_TYPE` is incomplete
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.5k
- Forks
- 149
- Avg merge
- 5d 16h
- Merged PRs (30d)
- 4
Description
Below is the output I get from CsWin32 using the shipped win32metadata it includes:
using global::System;
using global::System.Diagnostics;
using global::System.Diagnostics.CodeAnalysis;
using global::System.Runtime.CompilerServices;
using global::System.Runtime.InteropServices;
using winmdroot = global::Windows.Win32;
namespace Windows.Win32
{
namespace System.Diagnostics.Debug
{
[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.269+368685089b.RR")]
internal enum IMAGE_DEBUG_TYPE : uint
{
IMAGE_DEBUG_TYPE_UNKNOWN = 0U,
IMAGE_DEBUG_TYPE_COFF = 1U,
IMAGE_DEBUG_TYPE_CODEVIEW = 2U,
IMAGE_DEBUG_TYPE_FPO = 3U,
IMAGE_DEBUG_TYPE_MISC = 4U,
IMAGE_DEBUG_TYPE_EXCEPTION = 5U,
IMAGE_DEBUG_TYPE_FIXUP = 6U,
IMAGE_DEBUG_TYPE_BORLAND = 9U,
}
}
}
Using pe-tree against cmd.exe, we can see it's got two debug types that aren't listed:
These types are seemingly well known and are in use in other projects, such as view-pe: https://github.com/Vector35/view-pe/blob/88f7b1035a5a63a9847aff3d539331dbf806d8d9/peview.cpp#L366-L390
It'd be good if the win32metadata was updated to reflect these other known types within the Windows SDK.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the metadata declaration for IMAGE_DEBUG_TYPE in the win32metadata sources and check how enum additions are validated or emitted. Compare the declaration with the known Windows SDK debug types and the generated CsWin32 output; done means the missing types appear in shipped metadata and generated bindings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100