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 603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
614 //! to the exception that triggered the snapshot to be taken. | 614 //! to the exception that triggered the snapshot to be taken. |
615 struct __attribute__((packed, aligned(4))) MINIDUMP_MEMORY_LIST { | 615 struct __attribute__((packed, aligned(4))) MINIDUMP_MEMORY_LIST { |
616 //! \brief The number of memory regions present in the #MemoryRanges array. | 616 //! \brief The number of memory regions present in the #MemoryRanges array. |
617 uint32_t NumberOfMemoryRanges; | 617 uint32_t NumberOfMemoryRanges; |
618 | 618 |
619 //! \brief Structures identifying each memory region present in the minidump | 619 //! \brief Structures identifying each memory region present in the minidump |
620 //! file. | 620 //! file. |
621 MINIDUMP_MEMORY_DESCRIPTOR MemoryRanges[0]; | 621 MINIDUMP_MEMORY_DESCRIPTOR MemoryRanges[0]; |
622 }; | 622 }; |
623 | 623 |
| 624 //! \brief Contains the state of an individual system handle at the time the |
| 625 //! snapshot was taken. This structure is Windows-specific. |
| 626 //! |
| 627 //! \sa MINIDUMP_HANDLE_DESCRIPTOR_2 |
| 628 struct __attribute__((packed, aligned(4))) MINIDUMP_HANDLE_DESCRIPTOR { |
| 629 //! \brief The Windows `HANDLE` value. |
| 630 uint64_t Handle; |
| 631 |
| 632 //! \brief An RVA to a MINIDUMP_STRING structure that specifies the object |
| 633 //! type of the handle. This member can be zero. |
| 634 RVA TypeNameRva; |
| 635 |
| 636 //! \brief An RVA to a MINIDUMP_STRING structure that specifies the object |
| 637 //! name of the handle. This member can be zero. |
| 638 RVA ObjectNameRva; |
| 639 |
| 640 //! \brief The attributes for the handle, this corresponds to `OBJ_INHERIT`, |
| 641 //! `OBJ_CASE_INSENSITIVE`, etc. |
| 642 uint32_t Attributes; |
| 643 |
| 644 //! \brief The `ACCESS_MASK` for the handle. |
| 645 uint32_t GrantedAccess; |
| 646 |
| 647 //! \brief This is the number of open handles to the object that this handle |
| 648 //! refers to. |
| 649 uint32_t HandleCount; |
| 650 |
| 651 //! \brief This is the number kernel references to the object that this |
| 652 //! handle refers to. |
| 653 uint32_t PointerCount; |
| 654 }; |
| 655 |
| 656 //! \brief Contains the state of an individual system handle at the time the |
| 657 //! snapshot was taken. This structure is Windows-specific. |
| 658 //! |
| 659 //! \sa MINIDUMP_HANDLE_DESCRIPTOR |
| 660 struct __attribute__((packed, aligned(4))) MINIDUMP_HANDLE_DESCRIPTOR_2 |
| 661 : public MINIDUMP_HANDLE_DESCRIPTOR { |
| 662 //! \brief An RVA to a MINIDUMP_HANDLE_OBJECT_INFORMATION structure that |
| 663 //! specifies object-specific information. This member can be zero if |
| 664 //! there is no extra information. |
| 665 RVA ObjectInfoRva; |
| 666 |
| 667 //! \brief Must be zero. |
| 668 uint32_t Reserved0; |
| 669 }; |
| 670 |
| 671 //! \brief Represents the header for a handle data stream. |
| 672 struct __attribute((packed, aligned(4))) MINIDUMP_HANDLE_DATA_STREAM { |
| 673 //! \brief The size of the header information for the stream, in bytes. This |
| 674 //! value is `sizeof(MINIDUMP_HANDLE_DATA_STREAM)`. |
| 675 uint32_t SizeOfHeader; |
| 676 |
| 677 //! \brief The size of a descriptor in the stream, in bytes. This value is |
| 678 //! `sizeof(MINIDUMP_HANDLE_DESCRIPTOR)` or |
| 679 //! `sizeof(MINIDUMP_HANDLE_DESCRIPTOR_2)`. |
| 680 uint32_t SizeOfDescriptor; |
| 681 |
| 682 //! \brief The number of descriptors in the stream. |
| 683 uint32_t NumberOfDescriptors; |
| 684 |
| 685 //! \brief Must be zero. |
| 686 uint32_t Reserved; |
| 687 }; |
| 688 |
624 //! \anchor MINIDUMP_MISCx | 689 //! \anchor MINIDUMP_MISCx |
625 //! \name MINIDUMP_MISC* | 690 //! \name MINIDUMP_MISC* |
626 //! | 691 //! |
627 //! \brief Field validity flag values for MINIDUMP_MISC_INFO::Flags1. | 692 //! \brief Field validity flag values for MINIDUMP_MISC_INFO::Flags1. |
628 //! \{ | 693 //! \{ |
629 | 694 |
630 //! \brief MINIDUMP_MISC_INFO::ProcessId is valid. | 695 //! \brief MINIDUMP_MISC_INFO::ProcessId is valid. |
631 #define MINIDUMP_MISC1_PROCESS_ID 0x00000001 | 696 #define MINIDUMP_MISC1_PROCESS_ID 0x00000001 |
632 | 697 |
633 //! \brief The time-related fields in MINIDUMP_MISC_INFO are valid. | 698 //! \brief The time-related fields in MINIDUMP_MISC_INFO are valid. |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
906 //! - A MINIDUMP_MODULE_LIST stream. All loaded modules are present. | 971 //! - A MINIDUMP_MODULE_LIST stream. All loaded modules are present. |
907 //! - Typically, a MINIDUMP_MEMORY_LIST stream containing duplicate pointers | 972 //! - Typically, a MINIDUMP_MEMORY_LIST stream containing duplicate pointers |
908 //! to the stack memory regions also referenced by the MINIDUMP_THREAD_LIST | 973 //! to the stack memory regions also referenced by the MINIDUMP_THREAD_LIST |
909 //! stream. This type of minidump file also includes a | 974 //! stream. This type of minidump file also includes a |
910 //! MINIDUMP_MEMORY_DESCRIPTOR containing the 256 bytes centered around | 975 //! MINIDUMP_MEMORY_DESCRIPTOR containing the 256 bytes centered around |
911 //! the exception address or the instruction pointer. | 976 //! the exception address or the instruction pointer. |
912 MiniDumpNormal = 0x00000000, | 977 MiniDumpNormal = 0x00000000, |
913 }; | 978 }; |
914 | 979 |
915 #endif // CRASHPAD_COMPAT_NON_WIN_DBGHELP_H_ | 980 #endif // CRASHPAD_COMPAT_NON_WIN_DBGHELP_H_ |
OLD | NEW |