OLD | NEW |
1 // Copyright (c) 2010 Google Inc. | 1 // Copyright (c) 2010 Google Inc. |
2 // All rights reserved. | 2 // All rights reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // * Redistributions of source code must retain the above copyright | 8 // * Redistributions of source code must retain the above copyright |
9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. |
10 // * Redistributions in binary form must reproduce the above | 10 // * Redistributions in binary form must reproduce the above |
(...skipping 898 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
909 DISALLOW_COPY_AND_ASSIGN(MinidumpLinuxMaps); | 909 DISALLOW_COPY_AND_ASSIGN(MinidumpLinuxMaps); |
910 }; | 910 }; |
911 | 911 |
912 // MinidumpLinuxMapsList corresponds to the Linux-exclusive MD_LINUX_MAPS | 912 // MinidumpLinuxMapsList corresponds to the Linux-exclusive MD_LINUX_MAPS |
913 // stream, which contains the contents of /prod/self/maps, which contains | 913 // stream, which contains the contents of /prod/self/maps, which contains |
914 // the mapped memory regions and their access permissions. | 914 // the mapped memory regions and their access permissions. |
915 class MinidumpLinuxMapsList : public MinidumpStream { | 915 class MinidumpLinuxMapsList : public MinidumpStream { |
916 public: | 916 public: |
917 virtual ~MinidumpLinuxMapsList(); | 917 virtual ~MinidumpLinuxMapsList(); |
918 | 918 |
| 919 // Get number of mappings. |
| 920 unsigned int get_maps_count() const { return valid_ ? maps_count_ : 0; } |
| 921 |
919 // Get mapping at the given memory address. The caller owns the pointer. | 922 // Get mapping at the given memory address. The caller owns the pointer. |
920 const MinidumpLinuxMaps *GetLinuxMapsForAddress(uint64_t address) const; | 923 const MinidumpLinuxMaps *GetLinuxMapsForAddress(uint64_t address) const; |
921 // Get mapping at the given index. The caller owns the pointer. | 924 // Get mapping at the given index. The caller owns the pointer. |
922 const MinidumpLinuxMaps *GetLinuxMapsAtIndex(unsigned int index) const; | 925 const MinidumpLinuxMaps *GetLinuxMapsAtIndex(unsigned int index) const; |
923 | 926 |
924 // Print the contents of /proc/self/maps to stdout. | 927 // Print the contents of /proc/self/maps to stdout. |
925 void Print() const; | 928 void Print() const; |
926 | 929 |
927 private: | 930 private: |
928 friend class Minidump; | 931 friend class Minidump; |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1118 // construction or after a failed Read(); true following a successful | 1121 // construction or after a failed Read(); true following a successful |
1119 // Read(). | 1122 // Read(). |
1120 bool valid_; | 1123 bool valid_; |
1121 }; | 1124 }; |
1122 | 1125 |
1123 | 1126 |
1124 } // namespace google_breakpad | 1127 } // namespace google_breakpad |
1125 | 1128 |
1126 | 1129 |
1127 #endif // GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__ | 1130 #endif // GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__ |
OLD | NEW |