On 2018-12-07 04:23, Nathan Froyd wrote:
On Thu, Dec 6, 2018 at 6:10 PM Gijs Kruitbosch <gijskruitbo...@gmail.com> wrote:
Can someone elaborate on what this means for debugging on Windows, and
for our onboarding story on Windows?
At least in terms of stepping through, examining variables, etc.,
clang-cl is on par with MSVC.  If there are specific, stop-the-presses
cases that MSVC handles better than clang-cl...that's part of this
thread's reason for existence: for people to speak up about issues.

I can't speak to your debugging experience today, though; perhaps
somebody with more experience on Windows can chime in.  And the docs
should be modernized, as you note.  e10s and the relative inability of
debuggers to handle multi-process debugging well means the debugging
experience has gotten worse everywhere, and it would be worth thinking
about ways that we could address e10s issues as well.

So far, debugging clang builds with MSVS (2017 community) works pretty well with the patch for bug 1490743 applied.

I have mozilla.sln file of my own making with my own created projects and one "startup" mozilla.vcproj that has the final firefox.exe as a run path (with few args like -profile c:\testing-profile -no-remote).  When you F5 in VS then it will start and automatically attach.

You can use the solution/project files we generate at build time with mach.  I believe it's possible to run the final exe the same simple way using the generated solution.

To automatically attach to child processes I use following MSVS extensions:
- Microsoft Child Process Debugging Power Tool (needs to be manually enabled after installation) - when there are issues (not all processes attached, e.g. after `build binaries` and not a full build, as I've recently figured) I enable also Spawned Process Catcher X (needs to be repacked for installation in VS2017, I can provide a link)

That's it.  MSVS is a good editor and debugger with a relatively well working intelli-sense and symbol search, text search, refactoring.

Hope this helps.

-hb-


We're already making
people install MSVS to get the relevant Windows SDKs (manually, not
supported via ./mach bootstrap, and hopefully ticking the right boxes in
the installer or they have to do it again until they do win at
checkbox-golfing), and now we're telling them that although we just made
them download multiple gigs of stuff and install a pile of MS C++
compiler infrastructure on their machine, we can't actually use that and
they need to download *another* C++ compiler to actually build/debug
Firefox?
clang-cl is installed as part of `mach boostrap`, and configure will
automatically find clang-cl in the location bootstrap places it,
without any fuss on the user's part.

-Nathan
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to