[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#3021: 23.0.92; MEM FULL on Windows after some VC operations
From: |
Jason Rumney |
Subject: |
bug#3021: 23.0.92; MEM FULL on Windows after some VC operations |
Date: |
Mon, 06 Jul 2009 00:02:07 +0800 |
User-agent: |
Thunderbird 2.0.0.22 (Windows/20090605) |
Reiner Steib wrote:
- What do I need to install to debug a MinGW/MSYS build (Jason's
build) on MS Vista?
gdb (from www.mingw.org)
- To put a breakpoint, of course I need to install the Emacs sources.
How do I have to combine the source (emacs-*.tar.gz) and the binary
(windows/emacs-*-bin-i386.zip) correctly?
Unzipping into the same directory should work - any files contained in
both are identical, so no harm will come from replacing, or conversely
from keeping the old ones.
- Jason suggested: "find the location where that message is emitted,
and put a breakpoint there"...
Can someone assist me with this? I'm not familiar with Emacs' C
code. From rgrep on 'MEM.FULL\|memory_full' it's not obvious for me
which would be the right function.
So put a breakpoint on all locations that rgrep shows that message occuring.
To run gdb, follow the directions in etc/DEBUG and nt/INSTALL, notably:
Start Emacs from the src directory as: gdb ../bin/emacs.exe
This helps gdb find the source files, and also it will automatically
include the extra functions in src/.gdbinit for inspecting lisp
structures and other Emacs specific things.
To set a break point in gdb, type one of the following:
break functionname
break filename:linenum
to run emacs until a breakpoint is hit, type
run
this is the point to pass arguments to Emacs (not when starting gdb, or
they will be interpreted as gdb arguments). So to run without init files
run -Q
You can also run gdb from inside Emacs, in which case setting
breakpoints is easier - go to the line where you want the breakpoint in
the source file's buffer, and press C-x SPC. But I have found gdb to be
unstable within Emacs under Windows, YMMV.