Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(558)

Side by Side Diff: src/google_breakpad/processor/minidump.h

Issue 1287803002: Allow Print() to be called by const instances of MinidumpLinuxMaps and (Closed) Base URL: http://google-breakpad.googlecode.com/svn/trunk/
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/processor/minidump.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 874 matching lines...) Expand 10 before | Expand all | Expand 10 after
885 // The minor device number. 885 // The minor device number.
886 uint8_t GetMinorDevice() const { return valid_ ? region_.minor_device : 0; } 886 uint8_t GetMinorDevice() const { return valid_ ? region_.minor_device : 0; }
887 887
888 // The inode of the mapped region. 888 // The inode of the mapped region.
889 uint64_t GetInode() const { return valid_ ? region_.inode : 0; } 889 uint64_t GetInode() const { return valid_ ? region_.inode : 0; }
890 890
891 // The pathname of the mapped region. 891 // The pathname of the mapped region.
892 const string GetPathname() const { return valid_ ? region_.path : ""; } 892 const string GetPathname() const { return valid_ ? region_.path : ""; }
893 893
894 // Print the contents of this mapping. 894 // Print the contents of this mapping.
895 void Print(); 895 void Print() const;
896 896
897 private: 897 private:
898 // These objects are managed by MinidumpLinuxMapsList. 898 // These objects are managed by MinidumpLinuxMapsList.
899 friend class MinidumpLinuxMapsList; 899 friend class MinidumpLinuxMapsList;
900 900
901 // This caller owns the pointer. 901 // This caller owns the pointer.
902 explicit MinidumpLinuxMaps(Minidump *minidump); 902 explicit MinidumpLinuxMaps(Minidump *minidump);
903 903
904 // The memory region struct that this class wraps. 904 // The memory region struct that this class wraps.
905 MappedMemoryRegion region_; 905 MappedMemoryRegion region_;
906 906
907 DISALLOW_COPY_AND_ASSIGN(MinidumpLinuxMaps); 907 DISALLOW_COPY_AND_ASSIGN(MinidumpLinuxMaps);
908 }; 908 };
909 909
910 // MinidumpLinuxMapsList corresponds to the Linux-exclusive MD_LINUX_MAPS 910 // MinidumpLinuxMapsList corresponds to the Linux-exclusive MD_LINUX_MAPS
911 // stream, which contains the contents of /prod/self/maps, which contains 911 // stream, which contains the contents of /prod/self/maps, which contains
912 // the mapped memory regions and their access permissions. 912 // the mapped memory regions and their access permissions.
913 class MinidumpLinuxMapsList : public MinidumpStream { 913 class MinidumpLinuxMapsList : public MinidumpStream {
914 public: 914 public:
915 virtual ~MinidumpLinuxMapsList(); 915 virtual ~MinidumpLinuxMapsList();
916 916
917 // Get mapping at the given memory address. The caller owns the pointer. 917 // Get mapping at the given memory address. The caller owns the pointer.
918 const MinidumpLinuxMaps *GetLinuxMapsForAddress(uint64_t address) const; 918 const MinidumpLinuxMaps *GetLinuxMapsForAddress(uint64_t address) const;
919 // Get mapping at the given index. The caller owns the pointer. 919 // Get mapping at the given index. The caller owns the pointer.
920 const MinidumpLinuxMaps *GetLinuxMapsAtIndex(unsigned int index) const; 920 const MinidumpLinuxMaps *GetLinuxMapsAtIndex(unsigned int index) const;
921 921
922 // Print the contents of /proc/self/maps to stdout. 922 // Print the contents of /proc/self/maps to stdout.
923 void Print(); 923 void Print() const;
924 924
925 private: 925 private:
926 friend class Minidump; 926 friend class Minidump;
927 927
928 typedef vector<MinidumpLinuxMaps *> MinidumpLinuxMappings; 928 typedef vector<MinidumpLinuxMaps *> MinidumpLinuxMappings;
929 929
930 static const uint32_t kStreamType = MD_LINUX_MAPS; 930 static const uint32_t kStreamType = MD_LINUX_MAPS;
931 931
932 // The caller owns the pointer. 932 // The caller owns the pointer.
933 explicit MinidumpLinuxMapsList(Minidump *minidump); 933 explicit MinidumpLinuxMapsList(Minidump *minidump);
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
1116 // construction or after a failed Read(); true following a successful 1116 // construction or after a failed Read(); true following a successful
1117 // Read(). 1117 // Read().
1118 bool valid_; 1118 bool valid_;
1119 }; 1119 };
1120 1120
1121 1121
1122 } // namespace google_breakpad 1122 } // namespace google_breakpad
1123 1123
1124 1124
1125 #endif // GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__ 1125 #endif // GOOGLE_BREAKPAD_PROCESSOR_MINIDUMP_H__
OLDNEW
« no previous file with comments | « no previous file | src/processor/minidump.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698