TraceIntelPTGDBRemotePackets.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. //===-- TraceIntelPTGDBRemotePackets.h --------------------------*- C++ -*-===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. #ifndef LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H
  9. #define LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H
  10. #include "lldb/Utility/TraceGDBRemotePackets.h"
  11. /// See docs/lldb-gdb-remote.txt for more information.
  12. namespace lldb_private {
  13. /// jLLDBTraceStart gdb-remote packet
  14. /// \{
  15. struct TraceIntelPTStartRequest : TraceStartRequest {
  16. /// Size in bytes to use for each thread's trace buffer.
  17. int64_t threadBufferSize;
  18. /// Required when doing "process tracing".
  19. ///
  20. /// Limit in bytes on all the thread traces started by this "process trace"
  21. /// instance. When a thread is about to be traced and the limit would be hit,
  22. /// then a "tracing" stop event is triggered.
  23. llvm::Optional<int64_t> processBufferSizeLimit;
  24. };
  25. bool fromJSON(const llvm::json::Value &value, TraceIntelPTStartRequest &packet,
  26. llvm::json::Path path);
  27. llvm::json::Value toJSON(const TraceIntelPTStartRequest &packet);
  28. /// \}
  29. } // namespace lldb_private
  30. #endif // LLDB_UTILITY_TRACEINTELPTGDBREMOTEPACKETS_H