<div dir="ltr">Correct, AFAIK the only way to disable ASLR in Windows is:<div><br></div><div>a) Editing a registry setting which will require a reboot and be system-wide</div><div>b) Compiling your executable with a specific flag which has been set to enable ASLR by default since VS 2012.</div>
<div>c) Using the <a href="http://support.microsoft.com/kb/2458544">EMET utility</a>  (untested, but I guess should work).  Regardless, it's a manual step and would require elevation (aka sudo)</div><div><br></div><div>
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?</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 15, 2014 at 9:49 AM, Todd Fiala <span dir="ltr"><<a href="mailto:tfiala@google.com" target="_blank">tfiala@google.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="ltr">> <span style="font-family:arial,sans-serif;font-size:13px">Is ASLR per-launch / per-process on other platforms?  </span><div>
<span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div>
<span style="font-family:arial,sans-serif;font-size:13px">Linux allows you to set it per process, and based on previous comments, MacOSX does as well (there's a posix_spawn flag for it on that platform).  You can disable it on Linux at the kernel level, but that's not how we want to use it in this scenario.</span></div>

<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">You don't have a way to disable it just for a process on Windows?</span></div>
<span class="HOEnZb"><font color="#888888">
<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">-Todd</span></div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra">
<br><br><div class="gmail_quote">
On Fri, Aug 15, 2014 at 9:33 AM, Greg Clayton <span dir="ltr"><<a href="mailto:gclayton@apple.com" target="_blank">gclayton@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Yes it should be disabled by default for all systems. It is this was on MacOSX by default. The linux plug-in will need to be fixed.<br>
<div><div><br>
> On Aug 14, 2014, at 9:41 AM, Todd Fiala <<a href="mailto:todd.fiala@gmail.com" target="_blank">todd.fiala@gmail.com</a>> wrote:<br>
><br>
> [I'm not seeing this show up in the archives two hours after I posted it from my google account, so I'm sending it from my gmail account.  Pardon if this shows up again in the next 24 hours from my @<a href="http://google.com" target="_blank">google.com</a> account...]<br>


><br>
> ---------- Forwarded message ----------<br>
> From: Todd Fiala <<a href="mailto:tfiala@google.com" target="_blank">tfiala@google.com</a>><br>
> Date: Thu, Aug 14, 2014 at 7:29 AM<br>
> Subject: ASLR disabled by default - thoughts?<br>
> To: "<a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a>" <<a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a>><br>
><br>
><br>
> Hey all,<br>
><br>
> Regarding this bug:<br>
> <a href="http://llvm.org/bugs/show_bug.cgi?id=20658" target="_blank">http://llvm.org/bugs/show_bug.cgi?id=20658</a><br>
><br>
> We've been discussing the idea of having ASLR disabled by default when launching processes within lldb.  Currently it looks like the default behavior is to have it enabled, and require explicitly disabling to get that behavior for the process.<br>


><br>
> It seems like it might make more sense to have it disabled by default - that way code references would likely be static across debugger runs, which seems to be more what we want when tracking down issues across code runs.<br>


><br>
> Any thoughts on this?<br>
><br>
> The counterargument I could make for changing it would be (aside from legacy compatibility issues perhaps on the MacOSX/iOS side) - taking the exe out of its native state on the OS.  If a bug is ASLR sensitive, the user might miss it.  And so behavior in the debugger could differ from the exe in its native state.  Not sure how relevant that is for the majority of usages, though.<br>


><br>
> I'll be fixing the fact that Linux is ignoring this altogether.  But while I'm in there, I could flip the default if we wanted to do it.  If not globally, we'd probably pursue defaulting it on Linux (and Ed seems to like it for FreeBSD as well, so maybe for not Apple in that case?)<br>


> --<br>
> Todd Fiala |   Software Engineer |     <a href="mailto:tfiala@google.com" target="_blank">tfiala@google.com</a> |     <a href="tel:650-943-3180" value="+16509433180" target="_blank">650-943-3180</a><br>
> --<br>
> -Todd<br>
</div></div><div><div>> _______________________________________________<br>
> lldb-dev mailing list<br>
> <a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
<br>
_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">

<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>

<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>

<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div>
</div></div><br>_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
<br></blockquote></div><br></div>