[lldb-dev] ASLR disabled by default - thoughts?
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
More information about the lldb-dev