<div dir="ltr">Hi Lex,<div><br></div><div>Thanks for your suggestions. </div><div><br></div><div>I work on memory forensics. My part of project is to locate memory of the sensitive data. For example, when I use the geany open one sensitive file, and the content will be in the memory (heap). I hope I can locate all memory related this sensitive file. And later I can do some analysis or protection.</div><div><br></div><div>Now, I override malloc and can log all malloc functions to get return address and size (I think g_malloc is a wrapper of malloc). But I still cannot building the mapping between the special file and related heap memory. I know each open or created file have different ID (GeanyDocument->id). However, I still cannot figure out how to trace the related memory of different ID. Assume I have open three files, so there are three windows and three different GeanyDocument->id. I write or change some things among these three windows. Meanwhile, I log all malloc/realloc/calloc functions. I try to figure out which malloc belong to window 1, which belong to window2 or window 3?  Do you have any further suggestions for my case?</div><div><br></div><div>Thank you very much.</div><div><br></div><div>Best Regards,</div><div>Pengfei</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 9, 2015 at 5:45 PM, Lex Trotman <span dir="ltr"><<a href="mailto:elextr@gmail.com" target="_blank">elextr@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 10 October 2015 at 05:05, Pengfei Sun <<a href="mailto:shaotian330@gmail.com">shaotian330@gmail.com</a>> wrote:<br>
> Dear All,<br>
><br>
> I am always using geany, but now this is the first time I prepare to look at<br>
> geany source code. I have one question about memory allocation. When we open<br>
> one new file, there will be one new window in geany. How could I track all<br>
> memory allocation(g_malloc) related with this window? Or would it be<br>
> possible to track all related functions with this window?<br>
<br>
</span>The only way to track all allocations is to track Glib/GTK operations<br>
(some of these functions use Gslice, which does its own allocations<br>
from large blocks and may not show on malloc, or will show allocating<br>
the large block not all of which is for the one window).<br>
<br>
Also track g_malloc that Geany uses, though you can force that to<br>
always malloc I think.<br>
<br>
Also track malloc in case some libraries use it.<br>
<br>
And to track C++ new as used by the editing component (which again<br>
need not use malloc).<br>
<br>
One question is why do you want to do this,what are you trying to<br>
achieve? There might be a better way.<br>
<br>
Geany is mostly event driven (though a few things are timer driven) so<br>
if you only perform actions on one window most code run will relate to<br>
that window.<br>
<br>
Cheers<br>
Lex<br>
<span class=""><br>
><br>
> Thank you very much!<br>
><br>
> Best Regards,<br>
> Pengfei<br>
><br>
><br>
</span>> _______________________________________________<br>
> Devel mailing list<br>
> <a href="mailto:Devel@lists.geany.org">Devel@lists.geany.org</a><br>
> <a href="https://lists.geany.org/cgi-bin/mailman/listinfo/devel" rel="noreferrer" target="_blank">https://lists.geany.org/cgi-bin/mailman/listinfo/devel</a><br>
><br>
_______________________________________________<br>
Devel mailing list<br>
<a href="mailto:Devel@lists.geany.org">Devel@lists.geany.org</a><br>
<a href="https://lists.geany.org/cgi-bin/mailman/listinfo/devel" rel="noreferrer" target="_blank">https://lists.geany.org/cgi-bin/mailman/listinfo/devel</a><br>
</blockquote></div><br></div>