<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div style="margin: 0px; padding: 0px; border: 0px currentColor; font-size: 13px;"><div class="post-text" style="margin: 0px 0px 5px; padding: 0px; border: 0px currentColor; width: 660px; line-height: 1.3; font-size: 15px; -ms-word-wrap: break-word;" itemprop="text"><p style="margin: 0px 0px 1em; padding: 0px; border: 0px currentColor; clear: both; font-size: 15px;">I wrote a lldb type summary provider for wstring with 16bit wchar on Ubuntu 16.04.</p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px currentColor; clear: both; font-size: 15px;">Things work fine if I manually do the following in lldb:</p><pre style='margin: 0px 0px 1em; padding: 5px; border: 0px currentColor; width: auto; overflow: auto; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; -ms-word-wrap: normal; max-height: 600px; background-color: rgb(239, 240, 241);'><code style='margin: 0px; padding: 0px; border: 0px currentColor; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; white-space: inherit; background-color: rgb(239, 240, 241);'>(lldb) script import mytypes
(lldb) type summary add -F mytypes.wstring_SummaryProvider "std::__1::wstring"
</code></pre><p style="margin: 0px 0px 1em; padding: 0px; border: 0px currentColor; clear: both; font-size: 15px;">I tried to make things easier with auto-loading by adding the following to .lldbinit:</p><pre style='margin: 0px 0px 1em; padding: 5px; border: 0px currentColor; width: auto; overflow: auto; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; -ms-word-wrap: normal; max-height: 600px; background-color: rgb(239, 240, 241);'><code style='margin: 0px; padding: 0px; border: 0px currentColor; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; white-space: inherit; background-color: rgb(239, 240, 241);'>script import mytypes
type summary add -F mytypes.wstring_SummaryProvider "std::__1::wstring"
</code></pre><p style="margin: 0px 0px 1em; padding: 0px; border: 0px currentColor; clear: both; font-size: 15px;">Then I got a failure of "SBProcess is invalid" when printing a wstring variable.</p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px currentColor; clear: both; font-size: 15px;">My type summary function has the following, which I believe is where the error is encountered:</p><pre style='margin: 0px 0px 1em; padding: 5px; border: 0px currentColor; width: auto; overflow: auto; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; -ms-word-wrap: normal; max-height: 600px; background-color: rgb(239, 240, 241);'><code style='margin: 0px; padding: 0px; border: 0px currentColor; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; white-space: inherit; background-color: rgb(239, 240, 241);'>content = lldb.process.ReadMemory(bufferAddr, byteCount, error)
</code></pre><p style="margin: 0px 0px 1em; padding: 0px; border: 0px currentColor; clear: both; font-size: 15px;">Maybe this is because "process" is not assigned yet when the type summary is added during auto-loading? Or this is a bug in lldb? Does anyone know how to work around this issue?</p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px currentColor; clear: both; font-size: 15px;"> </p><p style="margin: 0px 0px 1em; padding: 0px; border: 0px currentColor; clear: both; font-size: 15px;">Thanks much</p></div></div> <BR><table style='margin: 0px; padding: 0px; border: 0px currentColor; text-align: left; color: rgb(36, 39, 41); text-transform: none; line-height: 16.9px; text-indent: 0px; letter-spacing: normal; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 13px; font-style: normal; font-weight: normal; word-spacing: 0px; white-space: normal; border-collapse: collapse; border-spacing: 0px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px;'><tbody style="margin: 0px; padding: 0px; border: 0px currentColor; font-size: 13px;"><tr style="margin: 0px; padding: 0px; border: 0px currentColor; font-size: 13px;"><td class="votecell" style="margin: 0px; padding: 0px 15px 0px 0px; border: 0px currentColor; font-size: 13px; vertical-align: top;"><div class="vote" style="margin: 0px; padding: 0px; border: 0px currentColor; text-align: center; font-size: 13px; min-width: 46px;"><div class="favoritecount" style="margin: 0px; padding: 0px; border: 0px currentColor; text-align: center; font-size: 13px;"> </div></div></td><td class="postcell" style="margin: 0px; padding: 0px; border: 0px currentColor; font-size: 13px; vertical-align: top;"><div style="margin: 0px; padding: 0px; border: 0px currentColor; font-size: 13px;"> </div></td></tr></tbody></table>                                     </div></body>
</html>