[lldb-dev] ASLR disabled by default - thoughts?

Greg Clayton gclayton at apple.com
Fri Aug 15 12:42:57 PDT 2014

So your JIT'ed code on the heap will always end up at the same location as well? That is a pretty big gamble.

> On Aug 15, 2014, at 10:18 AM, Chandler Carruth <chandlerc at google.com> wrote:
> On Fri, Aug 15, 2014 at 10:03 AM, Zachary Turner <zturner at google.com> wrote:
> Correct, AFAIK the only way to disable ASLR in Windows is:
> a) Editing a registry setting which will require a reboot and be system-wide
> b) Compiling your executable with a specific flag which has been set to enable ASLR by default since VS 2012.
> c) Using the EMET utility  (untested, but I guess should work).  Regardless, it's a manual step and would require elevation (aka sudo)
> Maybe it's just because I'm used to an environment where ASLR is per-boot, but what are the issues with debugging when ASLR is enabled?  Source/line breakpoints can just be resolved every time you debug.  Same with symbol breakpoints.  Even absolute address breakpoints can be translated to Module+offset and persist across ASLR.  The only things I can think of off the top of my head are hardware data breakpoints, and printing addresses to log files.  Is there other stuff that is complicated by ASLR?
> Watchpoints on heap-allocated memory (whether software or hardware).
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

More information about the lldb-dev mailing list