<div dir="ltr">> <span style="font-size:12.8px">I liked the snapshots that were in Stephen Kelly's daemon-mode patch much better than an interactive debugger.</span><div><span style="font-size:12.8px"><br></span></div><div>I'm not sure these tools have that much use-case overlap. As far as I can tell, snapshots has roughly the same overhead / functionality as reversible interactive debuggers; which is non trivial. Which tool is best for a given problem seems situational; and having both seems useful. </div><div><br></div><div>I looked through the code for cmServer, since it maintains an instance of cmake in process, it could register as a debug listener and get events / set breakpoints and all in response to different requests coming in. The issue here though is that it seems like (and maybe this is wrong?) the actual call out to configure blocks on the libuv loop thread so it can't get or process any requests while configure is running; so maybe keeping them as seperate services running on separate loops is better.  </div><div><br></div><div>The only way I could see it making sense to use a completely different protocol would be if there were a semi-standard debugger protocol used in different IDE's for debugging interpreted code, and then I think it makes sense to pursue those. However, I did some research into that and didn't find anything especially relevant -- IDE maintainers would obviously have a better sense of that though. Also, even if there is such a thing, there is no reason not to support multiple debug protocols; it is just a matter of prioritization. </div><div><br></div><div>It seems like QtCreator is the only IDE which currently has current support for server-mode; are there any Qt people active on the mailing list who could weigh in on what approach makes the most sense from an integrators perspective? </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 31, 2017 at 12:26 AM, Tobias Hunger <span dir="ltr"><<a href="mailto:tobias.hunger@gmail.com" target="_blank">tobias.hunger@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><span class=""><div class="gmail_extra" dir="auto"><div class="gmail_quote">On Jan 30, 2017 20:03, "Sylvain Joubert" <<a href="mailto:joubert.sy@gmail.com" target="_blank">joubert.sy@gmail.com</a>> wrote:<blockquote class="m_8675851168048989483quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_8675851168048989483quoted-text">
> c) What is the best<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
approach to make this kind of feature appealing to IDE / UI tools which<br>
currently work with CMake?<br>
<br>
</blockquote>
<br></div>
If I recall correctly, one of the initial use cases for the server mode was exactly that. The very first prototype of Stephen Kelly had this feature and could trace were a variable was last modified, make a diff of the CMake state between two locations in a CMake script,...<br></blockquote></div></div><div dir="auto"><br></div></span><div dir="auto">I liked the snapshots that were in Stephen Kelly's daemon-mode patch much better than an interactive debugger.</div><div dir="auto"><br></div><div dir="auto">Those much easier to use and visualize for an IDE than having an interactive debugger. And they make much more sense IMHO: You can see state and how that changes in every line instead of just the current one.</div><span class=""><div dir="auto"><br></div><div class="gmail_extra" dir="auto"><div class="gmail_quote"><blockquote class="m_8675851168048989483quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I didn't look at your code and I'll let the server mode maintainers give their feedback too but I guess the best way to go would be to jump in server mode to add that. Besides, the server mode is especially designed to be IDE friendly.<br></blockquote></div></div><div dir="auto"><br></div></span><div dir="auto">I want to add support for snapshots as soon as they are available in cmake.</div><div dir="auto"><br></div><div dir="auto">Is somebody working on the snapshot infrastructure? That is way too deep in core cmake components for me to feel comfortable to implement. I will of course happily write the code to integrate that into server mode:-)</div><div dir="auto"><br></div><div dir="auto">Best Regards,</div><div dir="auto">Tobias</div></div>
</blockquote></div><br></div>