OLD | NEW |
1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
528 uint32_t TimeDateStamp; | 528 uint32_t TimeDateStamp; |
529 | 529 |
530 //! \brief ::RVA of a MINIDUMP_STRING containing the module’s path or file | 530 //! \brief ::RVA of a MINIDUMP_STRING containing the module’s path or file |
531 //! name. | 531 //! name. |
532 RVA ModuleNameRva; | 532 RVA ModuleNameRva; |
533 | 533 |
534 //! \brief The module’s version information. | 534 //! \brief The module’s version information. |
535 VS_FIXEDFILEINFO VersionInfo; | 535 VS_FIXEDFILEINFO VersionInfo; |
536 | 536 |
537 //! \brief A pointer to the module’s CodeView record, typically a link to its | 537 //! \brief A pointer to the module’s CodeView record, typically a link to its |
538 //! debugging information in crashpad::MinidumpModuleCodeViewRecordPDB70 | 538 //! debugging information in crashpad::CodeViewRecordPDB70 format. |
539 //! format. | |
540 //! | 539 //! |
541 //! The specific format of the CodeView record is indicated by its signature, | 540 //! The specific format of the CodeView record is indicated by its signature, |
542 //! the first 32-bit value in the structure. For links to debugging | 541 //! the first 32-bit value in the structure. For links to debugging |
543 //! information in contemporary usage, this is normally a | 542 //! information in contemporary usage, this is normally a |
544 //! crashpad::MinidumpModuleCodeViewRecordPDB70 structure, but may be a | 543 //! crashpad::CodeViewRecordPDB70 structure, but may be a |
545 //! crashpad::MinidumpModuleCodeViewRecordPDB20 structure instead. These | 544 //! crashpad::CodeViewRecordPDB20 structure instead. These structures identify |
546 //! structures identify a link to debugging data within a `.pdb` (Program | 545 //! a link to debugging data within a `.pdb` (Program Database) file. See <a |
547 //! Database) file. See <a | |
548 //! href="http://www.debuginfo.com/articles/debuginfomatch.html#pdbfiles">Matc
hing | 546 //! href="http://www.debuginfo.com/articles/debuginfomatch.html#pdbfiles">Matc
hing |
549 //! Debug Information</a>, PDB Files. | 547 //! Debug Information</a>, PDB Files. |
550 //! | 548 //! |
551 //! On Windows, it is also possible for the CodeView record to contain | 549 //! On Windows, it is also possible for the CodeView record to contain |
552 //! debugging information itself, as opposed to a link to a `.pdb` file. See | 550 //! debugging information itself, as opposed to a link to a `.pdb` file. See |
553 //! <a | 551 //! <a |
554 //! href="http://pierrelib.pagesperso-orange.fr/exec_formats/MS_Symbol_Type_v1
.0.pdf#page=71">Microsoft | 552 //! href="http://pierrelib.pagesperso-orange.fr/exec_formats/MS_Symbol_Type_v1
.0.pdf#page=71">Microsoft |
555 //! Symbol and Type Information</a>, section 7.2, “Debug Information Format” | 553 //! Symbol and Type Information</a>, section 7.2, “Debug Information Format” |
556 //! for a list of debug information formats, and <a | 554 //! for a list of debug information formats, and <a |
557 //! href="http://undocumented.rawol.com/sbs-w2k-1-windows-2000-debugging-suppo
rt.pdf#page=63">Undocumented | 555 //! href="http://undocumented.rawol.com/sbs-w2k-1-windows-2000-debugging-suppo
rt.pdf#page=63">Undocumented |
558 //! Windows 2000 Secrets</a>, Windows 2000 Debugging Support/Microsoft Symbol | 556 //! Windows 2000 Secrets</a>, Windows 2000 Debugging Support/Microsoft Symbol |
559 //! File Internals/CodeView Subsections for an in-depth description of the | 557 //! File Internals/CodeView Subsections for an in-depth description of the |
560 //! CodeView 4.1 format. Signatures seen in the wild include “NB09” | 558 //! CodeView 4.1 format. Signatures seen in the wild include “NB09” |
561 //! (0x3930424e) for CodeView 4.1 and “NB11” (0x3131424e) for CodeView 5.0. | 559 //! (0x3930424e) for CodeView 4.1 and “NB11” (0x3131424e) for CodeView 5.0. |
562 //! This form of debugging information within the module, as opposed to a link | 560 //! This form of debugging information within the module, as opposed to a link |
563 //! to an external `.pdb` file, is chosen by building with `/Z7`. | 561 //! to an external `.pdb` file, is chosen by building with `/Z7`. |
564 //! | 562 //! |
565 //! On Windows, the CodeView record is taken from a module’s | 563 //! On Windows, the CodeView record is taken from a module’s |
566 //! IMAGE_DEBUG_DIRECTORY entry whose Type field has the value | 564 //! IMAGE_DEBUG_DIRECTORY entry whose Type field has the value |
567 //! IMAGE_DEBUG_TYPE_CODEVIEW (`2`), if any. Records in | 565 //! IMAGE_DEBUG_TYPE_CODEVIEW (`2`), if any. Records in |
568 //! crashpad::MinidumpModuleCodeViewRecordPDB70 format are generated by Visual | 566 //! crashpad::CodeViewRecordPDB70 format are generated by Visual Studio .NET |
569 //! Studio .NET (2002) (version 7.0) and later. | 567 //! (2002) (version 7.0) and later. |
570 //! | 568 //! |
571 //! When the CodeView record is not present, the fields of this | 569 //! When the CodeView record is not present, the fields of this |
572 //! MINIDUMP_LOCATION_DESCRIPTOR will be `0`. | 570 //! MINIDUMP_LOCATION_DESCRIPTOR will be `0`. |
573 MINIDUMP_LOCATION_DESCRIPTOR CvRecord; | 571 MINIDUMP_LOCATION_DESCRIPTOR CvRecord; |
574 | 572 |
575 //! \brief A pointer to the module’s miscellaneous debugging record, a | 573 //! \brief A pointer to the module’s miscellaneous debugging record, a |
576 //! structure of type IMAGE_DEBUG_MISC. | 574 //! structure of type IMAGE_DEBUG_MISC. |
577 //! | 575 //! |
578 //! This field is Windows-specific, and has no meaning on other operating | 576 //! This field is Windows-specific, and has no meaning on other operating |
579 //! systems. It is largely obsolete on Windows, where it was used to link to | 577 //! systems. It is largely obsolete on Windows, where it was used to link to |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
854 //! - A MINIDUMP_MODULE_LIST stream. All loaded modules are present. | 852 //! - A MINIDUMP_MODULE_LIST stream. All loaded modules are present. |
855 //! - Typically, a MINIDUMP_MEMORY_LIST stream containing duplicate pointers | 853 //! - Typically, a MINIDUMP_MEMORY_LIST stream containing duplicate pointers |
856 //! to the stack memory regions also referenced by the MINIDUMP_THREAD_LIST | 854 //! to the stack memory regions also referenced by the MINIDUMP_THREAD_LIST |
857 //! stream. This type of minidump file also includes a | 855 //! stream. This type of minidump file also includes a |
858 //! MINIDUMP_MEMORY_DESCRIPTOR containing the 256 bytes centered around | 856 //! MINIDUMP_MEMORY_DESCRIPTOR containing the 256 bytes centered around |
859 //! the exception address or the instruction pointer. | 857 //! the exception address or the instruction pointer. |
860 MiniDumpNormal = 0x00000000, | 858 MiniDumpNormal = 0x00000000, |
861 }; | 859 }; |
862 | 860 |
863 #endif // CRASHPAD_COMPAT_NON_WIN_DBGHELP_H_ | 861 #endif // CRASHPAD_COMPAT_NON_WIN_DBGHELP_H_ |
OLD | NEW |