{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":615738932,"defaultBranch":"master","name":"cv2pdb","ownerLogin":"alexbudfb","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-03-18T14:40:52.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/113801614?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1679673367.0","currentOid":""},"activityList":{"items":[{"before":"b36951d9b0c9a9b69784cde6342926ee4a7d0381","after":"a21b4159ff2e72f8ad356c602db47bf2644498b1","ref":"refs/heads/dwarftree","pushedAt":"2023-04-02T09:47:55.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"rainers","name":"Rainer Schuetze","path":"/rainers","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/702284?s=80&v=4"},"commit":{"message":"remove unnecessary BASE_DWARF_TYPE, BASE_USER_TYPE is enough to represent the CodeView base index","shortMessageHtmlLink":"remove unnecessary BASE_DWARF_TYPE, BASE_USER_TYPE is enough to repre…"}},{"before":null,"after":"b36951d9b0c9a9b69784cde6342926ee4a7d0381","ref":"refs/heads/dwarftree","pushedAt":"2023-03-24T15:56:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Support fully qualified names for enums\n\nThis commit enables full support for enums in the following ways:\n\n1) Enums now are also produced with fully-qualified names (such as those\n nested in classes, or namespaces). Thus two enums `Foo` in two\n classes can be uniquely examined in a debugger.\n2) Fix the way in which we emit the underlying enum type in the PDB.\n Previously, we were emitting a \"UDT reference\" for almost all enum\n types, even \"unsigned long\", which it turns out Windows debuggers do\n not like. WinDbg crashes when encountering such a symbol in some\n cases, and Visual Studio Debugger fails to resolve the value.\n\n It turns out that the root cause here is that enums in a PDB must\n always use a \"base type,\" never a UDT. To do this, I unwind the DIE\n type reference by walking its \"type\" chain until the last element,\n and produce a CV base type from the encoding and byte size of said\n record.\n\n E.g. for cases like enum Foo : size_t { ... }, we walk the size_t UDT\n reference and find, for example, an `unsigned long` UDT reference,\n and follow that, and ultimately find a base type with encoding\n `DW_ATE_unsigned` and byte size = 4, and generate a T_ULONG CV type\n for the enum.\n\nAlso, a minor improvement:\n\nWe now correctly indicate whether a structure is a class or struct,\ninstead of always emitting \"struct\" in the CV record.","shortMessageHtmlLink":"Support fully qualified names for enums"}},{"before":"f055142271e412759fb43353ec30af8ebcde2b55","after":"b36951d9b0c9a9b69784cde6342926ee4a7d0381","ref":"refs/heads/wip2","pushedAt":"2023-03-24T15:51:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Support fully qualified names for enums\n\nThis commit enables full support for enums in the following ways:\n\n1) Enums now are also produced with fully-qualified names (such as those\n nested in classes, or namespaces). Thus two enums `Foo` in two\n classes can be uniquely examined in a debugger.\n2) Fix the way in which we emit the underlying enum type in the PDB.\n Previously, we were emitting a \"UDT reference\" for almost all enum\n types, even \"unsigned long\", which it turns out Windows debuggers do\n not like. WinDbg crashes when encountering such a symbol in some\n cases, and Visual Studio Debugger fails to resolve the value.\n\n It turns out that the root cause here is that enums in a PDB must\n always use a \"base type,\" never a UDT. To do this, I unwind the DIE\n type reference by walking its \"type\" chain until the last element,\n and produce a CV base type from the encoding and byte size of said\n record.\n\n E.g. for cases like enum Foo : size_t { ... }, we walk the size_t UDT\n reference and find, for example, an `unsigned long` UDT reference,\n and follow that, and ultimately find a base type with encoding\n `DW_ATE_unsigned` and byte size = 4, and generate a T_ULONG CV type\n for the enum.\n\nAlso, a minor improvement:\n\nWe now correctly indicate whether a structure is a class or struct,\ninstead of always emitting \"struct\" in the CV record.","shortMessageHtmlLink":"Support fully qualified names for enums"}},{"before":"f48e8e7869f87b858c909ab2a1f4884fc099525e","after":"f055142271e412759fb43353ec30af8ebcde2b55","ref":"refs/heads/wip2","pushedAt":"2023-03-24T15:15:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Support fully qualified names for enums\n\nFix enum base types for windbg","shortMessageHtmlLink":"Support fully qualified names for enums"}},{"before":"dde649f813164959e80d441adf41e49b326024f4","after":"f48e8e7869f87b858c909ab2a1f4884fc099525e","ref":"refs/heads/wip2","pushedAt":"2023-03-24T13:43:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Support fully qualified names for enums\n\nFix enum base types for windbg","shortMessageHtmlLink":"Support fully qualified names for enums"}},{"before":"1276896b4d954d41c8ee9f50a956aacaef8ee16c","after":"dde649f813164959e80d441adf41e49b326024f4","ref":"refs/heads/wip2","pushedAt":"2023-03-24T02:44:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Enum fix: follow all the parent types to get to the base","shortMessageHtmlLink":"Enum fix: follow all the parent types to get to the base"}},{"before":"b8919d31bc3705f8c228acca1704256218c9bb23","after":"1276896b4d954d41c8ee9f50a956aacaef8ee16c","ref":"refs/heads/wip2","pushedAt":"2023-03-24T02:28:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix enum base types for windbg","shortMessageHtmlLink":"Fix enum base types for windbg"}},{"before":"b7695ff07762bf3fad5eb2ccba0f7896eebbfc27","after":"b8919d31bc3705f8c228acca1704256218c9bb23","ref":"refs/heads/wip2","pushedAt":"2023-03-24T02:09:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Make enum and struct/class export a little better","shortMessageHtmlLink":"Make enum and struct/class export a little better"}},{"before":"86a90d8f0f6ddc88a9d4b9c0d170c72c13f22e6d","after":"b7695ff07762bf3fad5eb2ccba0f7896eebbfc27","ref":"refs/heads/wip2","pushedAt":"2023-03-23T23:37:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Support fully qualified names for enums","shortMessageHtmlLink":"Support fully qualified names for enums"}},{"before":"053fa784a734514400b11d99e7d57d235a8a4c8a","after":"86a90d8f0f6ddc88a9d4b9c0d170c72c13f22e6d","ref":"refs/heads/wip2","pushedAt":"2023-03-23T23:04:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix struct dumping part 2","shortMessageHtmlLink":"Fix struct dumping part 2"}},{"before":"30ec12d970ee4feda073f0807afca9f31c9ee23a","after":"053fa784a734514400b11d99e7d57d235a8a4c8a","ref":"refs/heads/wip2","pushedAt":"2023-03-23T22:30:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix struct dumping part 2","shortMessageHtmlLink":"Fix struct dumping part 2"}},{"before":"cd42936514813d19f533aeb690f0bf67c76eb373","after":"30ec12d970ee4feda073f0807afca9f31c9ee23a","ref":"refs/heads/wip2","pushedAt":"2023-03-23T22:04:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix struct dumping part 2","shortMessageHtmlLink":"Fix struct dumping part 2"}},{"before":"da88e54b390deb9fa15c33d3f617e561897e83ad","after":"cd42936514813d19f533aeb690f0bf67c76eb373","ref":"refs/heads/wip2","pushedAt":"2023-03-23T13:56:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix struct dumping part 1","shortMessageHtmlLink":"Fix struct dumping part 1"}},{"before":"3aa60c5b4fdd1c4ac3f634a462b14340f272897a","after":"da88e54b390deb9fa15c33d3f617e561897e83ad","ref":"refs/heads/wip2","pushedAt":"2023-03-23T02:31:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Support namespaces/nesting for structs","shortMessageHtmlLink":"Support namespaces/nesting for structs"}},{"before":"51eebffd06d32dc51296b9caee5fb13c80ddadaf","after":"3aa60c5b4fdd1c4ac3f634a462b14340f272897a","ref":"refs/heads/wip2","pushedAt":"2023-03-23T01:39:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix existing bug in decoding \"base address selection\" entries","shortMessageHtmlLink":"Fix existing bug in decoding \"base address selection\" entries"}},{"before":"8002e608a409227821fd6a512e20e1e479e80adc","after":"51eebffd06d32dc51296b9caee5fb13c80ddadaf","ref":"refs/heads/wip2","pushedAt":"2023-03-23T01:32:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix existing bug in decoding \"base address selection\" entries","shortMessageHtmlLink":"Fix existing bug in decoding \"base address selection\" entries"}},{"before":"cff2f9e85680cc4e83f2c1ab4defbc679c244869","after":"8002e608a409227821fd6a512e20e1e479e80adc","ref":"refs/heads/wip2","pushedAt":"2023-03-23T01:27:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix existing bug in decoding \"base address selection\" entries","shortMessageHtmlLink":"Fix existing bug in decoding \"base address selection\" entries"}},{"before":null,"after":"cff2f9e85680cc4e83f2c1ab4defbc679c244869","ref":"refs/heads/wip2","pushedAt":"2023-03-23T00:31:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix existing bug in decoding \"base address selection\" entries","shortMessageHtmlLink":"Fix existing bug in decoding \"base address selection\" entries"}},{"before":"6959a789a2cbc4492c334f12268eba987d5973da","after":"69ee535edcabe3fcd6d7f1b412363cf8a493f884","ref":"refs/heads/wip1","pushedAt":"2023-03-23T00:19:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix existing bug in decoding \"base address selection\" entries","shortMessageHtmlLink":"Fix existing bug in decoding \"base address selection\" entries"}},{"before":"efa7c9ca281230d51c616d88744f9049872b2f76","after":"6959a789a2cbc4492c334f12268eba987d5973da","ref":"refs/heads/wip1","pushedAt":"2023-03-22T19:06:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Add support for anon types","shortMessageHtmlLink":"Add support for anon types"}},{"before":"829edcbc1ea92733bcf1a11aea61130b0ea23d5e","after":"efa7c9ca281230d51c616d88744f9049872b2f76","ref":"refs/heads/wip1","pushedAt":"2023-03-22T17:05:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Consolidate function decl+defn into one PDB symbol","shortMessageHtmlLink":"Consolidate function decl+defn into one PDB symbol"}},{"before":"4016704fe14bb8f1eb7bf1435bf37f928999ad38","after":"829edcbc1ea92733bcf1a11aea61130b0ea23d5e","ref":"refs/heads/wip1","pushedAt":"2023-03-22T01:57:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Add helper to format a fully qualified function name","shortMessageHtmlLink":"Add helper to format a fully qualified function name"}},{"before":"e591aac484c32c28109b56c03d633770d88b5082","after":"4016704fe14bb8f1eb7bf1435bf37f928999ad38","ref":"refs/heads/wip1","pushedAt":"2023-03-22T00:25:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Link all CUs together","shortMessageHtmlLink":"Link all CUs together"}},{"before":"a282bfc96bc13aab3338f0609a44046b52b20849","after":"e591aac484c32c28109b56c03d633770d88b5082","ref":"refs/heads/wip1","pushedAt":"2023-03-22T00:13:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"fix recursive printing","shortMessageHtmlLink":"fix recursive printing"}},{"before":"ce95cf430b06fdbc73a062c99b665f1b98982f22","after":"a282bfc96bc13aab3338f0609a44046b52b20849","ref":"refs/heads/wip1","pushedAt":"2023-03-21T22:34:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Revert some of the cursor sharing to copying","shortMessageHtmlLink":"Revert some of the cursor sharing to copying"}},{"before":"ec3840c02100a93226ae9c82a715efd7ac5fb492","after":"ce95cf430b06fdbc73a062c99b665f1b98982f22","ref":"refs/heads/wip1","pushedAt":"2023-03-21T21:14:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Define a constant for BASE_USER_TYPE instead of magic number","shortMessageHtmlLink":"Define a constant for BASE_USER_TYPE instead of magic number"}},{"before":"abd826c826cb772598c0b3f82c9b6cc3e350e3f3","after":"ec3840c02100a93226ae9c82a715efd7ac5fb492","ref":"refs/heads/wip1","pushedAt":"2023-03-21T15:43:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Fix linkage and improve tree print","shortMessageHtmlLink":"Fix linkage and improve tree print"}},{"before":"b3eabc35e40764797fef9cd2e8f27808013e2b35","after":"abd826c826cb772598c0b3f82c9b6cc3e350e3f3","ref":"refs/heads/wip1","pushedAt":"2023-03-21T14:36:02.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Add natvis into project","shortMessageHtmlLink":"Add natvis into project"}},{"before":"e2f721473cf2c98e76477c01ce3f64f0b05ba5c6","after":"b3eabc35e40764797fef9cd2e8f27808013e2b35","ref":"refs/heads/wip1","pushedAt":"2023-03-21T13:15:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"Improve natvis to support children and siblings lists","shortMessageHtmlLink":"Improve natvis to support children and siblings lists"}},{"before":"c0fb8f0301ee00c79dce02fc6c958091f5a40640","after":"e2f721473cf2c98e76477c01ce3f64f0b05ba5c6","ref":"refs/heads/wip1","pushedAt":"2023-03-21T13:10:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"alexbudfb","name":"Alex Budovski","path":"/alexbudfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/113801614?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADEFnvFwA","startCursor":null,"endCursor":null}},"title":"Activity · alexbudfb/cv2pdb"}