Sep 6 2017
Nov 29 2016
Nov 20 2016
Nov 11 2016
Use unique_ptr instead of shared_ptr
Nov 10 2016
Generated the core files with make-core.sh
I will generate the core files with the make-core.sh script and update the revision today or tomorrow.
Nov 4 2016
Nov 1 2016
Oct 31 2016
Oct 28 2016
Hopefully removing code that's not for this CL
Oct 25 2016
Formatting correctly the test files source code, and added explanation in their makefile
ReadModuleList() is called in DoLoadCore()
Oct 24 2016
Please ignore the RegisterContextMinidump_x86_* changes. Can't seem to make arc diff understand what I want.
Addressed Pavel's comments.
Fixes regarding Pavel's comments
Oct 20 2016
Oct 19 2016
Simplified writeRegister function
Oct 18 2016
Merge if's checking the same context flag
Oct 17 2016
Make a single array of sse registers instead of separated fields
Return a nullptr in case of an error
Adding sanity check for the context's size
Changed std::map with llvm::StringMap
Using containter.empty() instead of containter.size() == 0
Avoiding copy by using for(const auto& ...)
Added bitwise operations to the new enum classes
Oct 14 2016
Resolved Pavel's remarks.
Oct 13 2016
Forgot to run clang-format. Also changed a helper function in the tests to make it simpler.
Oct 5 2016
Oct 4 2016
Added a sanity check for loc_descr
Changes after Zachary's comments
Second iteration over CL - regarded Pavel's comments and encapsulated m_data_sp more in MinidumpParser
Updated the CL with regard to Pavel's comments
Oct 3 2016
I was hoping that, with your new mini dump parser, you'd be able to eliminate the need for the Windows-specific minidump process plugin.
When I wrote the Windows mini dump plugin, I tried to isolate the Windows API-specific bits using the pimpl idiom. Now that you've written a mini dump parser, we shouldn't need the Windows API calls, and nearly all the rest of the code should be shareable between Windows and Linux. Is there a plan to eliminate this redundancy and merge this new mini dump process plugin with the Windows-specific one?
So, there will be changes to the way I handle the case where there is no ExceptionStream - I will probably create a StopReason = None. But I have to investigate if in that case lldb still hangs because it's trying to resume a process (that does not exists). I will ask Jim Ingham about some insight about StopReasons
Sep 30 2016
Sep 27 2016
I like the combined approach more. So this is the implementation
Thanks for the explanation and examples! :) Will keep this in mind in the future.
Addressing Zachary's and Adrian's comments
Just wanted to ping you because I changed a bit this revision in rL282479 because it was breaking the lldb build on windows7-android
Sep 26 2016
I will fix the comments that Zachary made in the next revision
Updating the CL regarding Pavel's comments
I tested this on the yet-to-be-submitted plugin code and it works fine on Linux (should work fine everywhere for that matter). I can do a backtrace, go up/down the stack frames and, of course, see all of the registers with register read
Sep 15 2016
Sep 13 2016
Making the LinuxProcStatus a smarter class
Removed consumeString; Fixed comparisons in unittests; out-of-bounds check in MinidumpString parsing
Sep 12 2016
Changes regarding all of the comments.
Sep 9 2016
Also added parsing code for Minidump strings - the strings in the Minidump format are UTF-16 encoded. I used the code from the WinMiniDump plugin and it can extract a UTF-16 string and convert it to a UTF-8 one.
Forgot to run clang-format
Sep 6 2016
Sep 2 2016
Sep 1 2016
Aug 26 2016
Making MinidumpParser constuctor private
Aug 25 2016
I changed all of the llvm::Optional<const type *> returning functions to return only const type *
and signalize for 'failure' by returning a nullptr. In the cases where I return objects (e.g. vector of threads)
I'm still using the llvm::Optional pattern.
I also think that using llvm::Error is a good idea, but I think that it'll be difficult, because of
collisions with the lldb::Error, and also at some point I have to convert objects from one type to the other.
Changed the constructing pattern of MinidumpParser