tberghammer added a comment. I few high level comments after a quick read through.
================ Comment at: unittests/tools/lldb-server/.gitignore:1 +thread_inferior ---------------- Why do we need this? I would expect cmake to *not* put anything into my source directory when doing an out-of-source build so I can have multiple build directory (e.g. for different targets) at the same time. ================ Comment at: unittests/tools/lldb-server/inferior/thread_inferior.cpp:21 + + asm volatile ("int3"); + delay = false; ---------------- krytarowski wrote: > int3 is specific to x86. > > Some instructions to emit software breakpoint in other architectures: > https://github.com/NetBSD/src/commit/c215d1b7d6c1385720b27fd45189b5dea6d6e4aa > > Also there is a support for threads, this is not as portable as it could be. > The simplest example could be without them, and threads in debuggee could be > tested in dedicated regression tests. This will help out to sort bugs with > threads from other features. I think there should be a compiler intrinsic available as well. ================ Comment at: unittests/tools/lldb-server/tests/MessageObjects.h:17 + +class ProcessInfo { +public: ---------------- Can we somehow reuse the logic in GDBRemoteCommunicationClient for parsing the packets (possibly after factoring out some of it into new standalone functions)? I think it would remove code duplication as well as increase the coverage provided by these tests. ================ Comment at: unittests/tools/lldb-server/tests/MessageObjects.h:82-87 +// Common functions for parsing packet data. +std::unordered_map<std::string, std::string> SplitPairList(const std::string& s); +std::vector<std::string> SplitList(const std::string& s, char delimeter); +std::pair<std::string, std::string> SplitPair(const std::string& s); +std::string HexDecode(const std::string& hex_encoded); +unsigned long SwitchEndian(const std::string& little_endian); ---------------- Does these have to be global? Can we make them local to the .cc file (anonymous namespace or file static variable)? ================ Comment at: unittests/tools/lldb-server/tests/MessageObjects.h:83 +// Common functions for parsing packet data. +std::unordered_map<std::string, std::string> SplitPairList(const std::string& s); +std::vector<std::string> SplitList(const std::string& s, char delimeter); ---------------- What if the key isn't unique? ================ Comment at: unittests/tools/lldb-server/tests/MessageObjects.h:86-87 +std::pair<std::string, std::string> SplitPair(const std::string& s); +std::string HexDecode(const std::string& hex_encoded); +unsigned long SwitchEndian(const std::string& little_endian); +} ---------------- I would hope we have functions in LLVM/LLDB doing these sort of things (might have to be changed slightly to make them easily accessible) https://reviews.llvm.org/D32930 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits