[Openmcl-devel] Examining values from inside the debugger
Andrew P. Lentvorski, Jr.
bsder at mail.allcaps.org
Mon Aug 16 16:06:18 PDT 2004
Okay, parse-ffi.lisp is driving me nuts. However, that's not my
immediate problem.
I made the following patch to parse-ffi.lisp so that it will quit
failing silently when it does not find a .ffi file:
Index: parse-ffi.lisp
===================================================================
RCS file: /usr/local/tmpcvs/ccl-0.14-dev/ccl/library/parse-ffi.lisp,v
retrieving revision 1.2
diff -r1.2 parse-ffi.lisp
788c788,789
< (*ffi-global-vars* (make-hash-table :test 'string=
:hash-function 'sxhash)))
---
> (*ffi-global-vars* (make-hash-table :test 'string=
:hash-function 'sxhash))
> (ffi-files (directory (merge-pathnames ";C;**;*.ffi"
interface-dir))))
790,791c791,792
< (dolist (f (directory (merge-pathnames ";C;**;*.ffi"
< interface-dir)))
---
> (if (eq ffi-files nil) (break))
> (dolist (f ffi-files)
Now, I run it:
Andrew-Lentvorskis-Computer:/home/alpha/ccl/library andrewl$ openmcl
Welcome to OpenMCL Version (Beta: Darwin) 0.14.2-040506!
? (require "parse-ffi")
"parse-ffi"
("parse-ffi")
? (ccl::parse-standard-ffi-files :gtk)
> Break in process listener(1):
> While executing: CCL::PARSE-STANDARD-FFI-FILES
> Type :GO to continue, :POP to abort.
> If continued: Return from BREAK.
Type :? for other options.
1 > (apropos 'i-files)
CCL::FFI-FILES
I-FILES
CCL::PARSE-STANDARD-FFI-FILES, Def: FUNCTION
1 > (describe 'ccl::ffi-files)
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
Symbol: CCL::FFI-FILES
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
INTERNAL in package: #<Package "CCL">
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
Print name: "FFI-FILES"
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
Value: #<Unbound>
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
Function: #<Unbound>
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does
not exist.
; While executing: CCL::CDB-OPEN
Plist: NIL
1 > ;; Huh?!?!?! That wasn't expected ...
;; Let's try something simpler
ccl::ffi-files
> Error in process listener(1): Unbound variable: CCL::FFI-FILES
> While executing: "Unknown"
> Type :GO to continue, :POP to abort.
> If continued: Retry getting the value of CCL::FFI-FILES.
Type :? for other options.
2 > ;; Huh? Why undefined? It should have been nil ...
What am I missing? Does this have something to do with compiling
versus interpreting? I *know* that ffi-files is nil, not unbound.
Otherwise, the break would not have fired. However, I can't seem to
find it with the debugger.
Do I need to use a different directive to throw things into the
debugger? Do I need to put in some sort of declare directive?
I would like to examine more of the variables of
parse-standard-ffi-files, but I can't seem to get at them.
Thanks,
-a
More information about the Openmcl-devel
mailing list