Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
3042 5875 d 6 h svoboda /branches/tracing/ Merged latest trunk changes to tracing.  
/branches/tracing/boot/arch/arm32/loader/_link.ld.in
/branches/tracing/boot/arch/ia64/loader/_link.ld.in
/branches/tracing/boot/arch/mips32/loader/_link.ld.in.binary
/branches/tracing/boot/arch/mips32/loader/_link.ld.in.ecoff
/branches/tracing/boot/arch/ppc32/loader/_link.ld.in
/branches/tracing/boot/arch/ppc64/loader/_link.ld.in
/branches/tracing/boot/arch/sparc64/loader/_link.ld.in
/branches/tracing/boot/tools/pack.py
/branches/tracing/tools/fix_symlinks.sh
/branches/tracing/tools/mktmpfs.py
/branches/tracing/boot/arch/arm32/loader/pack
/branches/tracing/boot/arch/ia64/loader/pack
/branches/tracing/boot/arch/mips32/loader/pack
/branches/tracing/boot/arch/ppc32/loader/pack
/branches/tracing/boot/arch/ppc64/loader/pack
/branches/tracing/boot/arch/sparc64/loader/pack
/branches/tracing/tools/cygwin_symlink_patch.sh
/branches/tracing/HelenOS.config
/branches/tracing/boot/arch/arm32/loader/Makefile
/branches/tracing/boot/arch/arm32/loader/main.c
/branches/tracing/boot/arch/ia64/loader/Makefile
/branches/tracing/boot/arch/mips32/loader/Makefile
/branches/tracing/boot/arch/mips32/loader/main.c
/branches/tracing/boot/arch/ppc32/loader/Makefile
/branches/tracing/boot/arch/ppc32/loader/main.c
/branches/tracing/boot/arch/ppc64/loader/Makefile
/branches/tracing/boot/arch/ppc64/loader/main.c
/branches/tracing/boot/arch/sparc64/loader/Makefile
/branches/tracing/kernel/arch/amd64/include/memstr.h
/branches/tracing/kernel/arch/ia32/include/memstr.h
/branches/tracing/kernel/arch/mips32/include/atomic.h
/branches/tracing/kernel/generic/include/ipc/ipc.h
/branches/tracing/kernel/generic/include/lib/rd.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/ipc/sysipc.c
/branches/tracing/kernel/generic/src/lib/rd.c
/branches/tracing/kernel/generic/src/main/kinit.c
/branches/tracing/tools/config.py
/branches/tracing/uspace/lib/libc/arch/mips32/include/atomic.h
/branches/tracing/uspace/srv/pci/update-ids
3037 5875 d 10 h svoboda /branches/tracing/kernel/generic/src/ipc/ Detach kb_thread after joining it.  
/branches/tracing/kernel/generic/src/ipc/ipc.c
3036 5876 d 3 h svoboda /branches/tracing/kernel/generic/ Make sure area written by debugger is private and anonymous by copying it, if necessary. (Not atomic atm)  
/branches/tracing/kernel/generic/include/mm/as.h
/branches/tracing/kernel/generic/src/mm/as.c
3035 5877 d 7 h svoboda /branches/tracing/kernel/generic/ Use thread_join() to wait for kbox thread termination, instead of specific wait queue.  
/branches/tracing/kernel/generic/include/proc/task.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/proc/task.c
3034 5877 d 9 h svoboda /branches/tracing/kernel/generic/ Convert kb_cleanup_lock to a mutex  
/branches/tracing/kernel/generic/include/proc/task.h
/branches/tracing/kernel/generic/include/proc/thread.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/proc/task.c
/branches/tracing/kernel/generic/src/proc/thread.c
3033 5877 d 23 h svoboda /branches/tracing/kernel/generic/src/ipc/ Fix tasks_lock being released too soon in ipc_connect_kbox()  
/branches/tracing/kernel/generic/src/ipc/ipc.c
3032 5877 d 23 h svoboda /branches/tracing/kernel/generic/src/udebug/ Move ipc_answer()s into THREAD->udebug.lock mutexes, slightly simplifying udebug_stoppable_begin()  
/branches/tracing/kernel/generic/src/udebug/udebug.c
3031 5878 d 0 h svoboda /branches/tracing/kernel/generic/src/udebug/ Describe mutual exclusion with code executed in interrupt handler (No deadlocks can actually occur anymore)  
/branches/tracing/kernel/generic/src/udebug/udebug.c
3030 5878 d 0 h svoboda /branches/tracing/kernel/generic/src/udebug/ Add a preliminary check, so that performance of undebugged multithreaded tasks doesn't suffer on SMP  
/branches/tracing/kernel/generic/src/udebug/udebug.c
3026 5878 d 5 h svoboda /branches/tracing/kernel/generic/ Convert THREAD->udebug.lock to mutex. Protect against udebug_before_thread_runs() called from interrupt handler. Pending locking scheme change (multithreaded tasks may hang)  
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/proc/thread.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
3018 5880 d 2 h svoboda /branches/tracing/ Isolate udebug-related thread_t fields into udebug_thread_t  
/branches/tracing/kernel/generic/include/proc/thread.h
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/interrupt/interrupt.c
/branches/tracing/kernel/generic/src/proc/thread.c
/branches/tracing/kernel/generic/src/syscall/syscall.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
/branches/tracing/uspace/app/debug/main.c
/branches/tracing/uspace/app/tester/Makefile
3016 5880 d 7 h svoboda /branches/tracing/kernel/generic/ Synchronize debug ops on a task with a mutex instead of task->lock spinlock.  
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
3015 5880 d 8 h svoboda /branches/tracing/kernel/generic/ Call udebug_stoppable_begin() after scheduling, rather than before - avoid restricted contex.  
/branches/tracing/kernel/generic/include/proc/thread.h
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/time/clock.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
3014 5880 d 10 h svoboda /branches/tracing/kernel/generic/ Isolate udebug-related task_t fields into udebug_task_t.  
/branches/tracing/kernel/generic/include/proc/task.h
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/proc/task.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
3013 5880 d 11 h svoboda /branches/tracing/kernel/generic/ Bypass area write-protection for udebug memory writes.  
/branches/tracing/kernel/generic/include/mm/as.h
/branches/tracing/kernel/generic/src/mm/as.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
3011 5881 d 22 h svoboda /branches/tracing/ Merged latest trunk changes to tracing  
/branches/tracing/kernel/generic/src/ipc/sysipc.c
/branches/tracing/kernel/generic/src/lib/elf.c
/branches/tracing/kernel/generic/src/mm/backend_elf.c
/branches/tracing/uspace/app/tester/vfs/vfs1.c
/branches/tracing/uspace/lib/libc/arch/amd64/_link.ld.in
/branches/tracing/uspace/lib/libc/arch/arm32/_link.ld.in
/branches/tracing/uspace/lib/libc/arch/ia32/_link.ld.in
/branches/tracing/uspace/lib/libc/arch/ia64/_link.ld.in
/branches/tracing/uspace/lib/libc/arch/mips32/_link.ld.in
/branches/tracing/uspace/lib/libc/arch/ppc32/_link.ld.in
/branches/tracing/uspace/lib/libc/arch/ppc64/_link.ld.in
/branches/tracing/uspace/lib/libc/arch/sparc64/_link.ld.in
/branches/tracing/uspace/lib/libfs/libfs.c
/branches/tracing/uspace/srv/fs/fat/fat.h
/branches/tracing/uspace/srv/fs/fat/fat_idx.c
/branches/tracing/uspace/srv/fs/fat/fat_ops.c
/branches/tracing/uspace/srv/fs/tmpfs/tmpfs.c
/branches/tracing/uspace/srv/fs/tmpfs/tmpfs.h
/branches/tracing/uspace/srv/fs/tmpfs/tmpfs_ops.c
/branches/tracing/uspace/srv/vfs/vfs_ops.c
2925 5893 d 10 h svoboda /branches/tracing/ Merged latest trunk changes to tracing branch  
/branches/tracing/uspace/lib/libc/arch/amd64/include/byteorder.h
/branches/tracing/uspace/lib/libc/arch/arm32/include/byteorder.h
/branches/tracing/uspace/lib/libc/arch/ia32/include/byteorder.h
/branches/tracing/uspace/lib/libc/arch/ia64/include/byteorder.h
/branches/tracing/uspace/lib/libc/arch/mips32/include/byteorder.h
/branches/tracing/uspace/lib/libc/arch/mips32eb/include/byteorder.h
/branches/tracing/uspace/lib/libc/arch/ppc32/include/byteorder.h
/branches/tracing/uspace/lib/libc/arch/ppc64/include/byteorder.h
/branches/tracing/uspace/lib/libc/arch/sparc64/include/byteorder.h
/branches/tracing/uspace/lib/libc/include/byteorder.h
/branches/tracing/uspace/srv/fs/fat/fat_idx.c
/branches/tracing/tools/build
/branches/tracing/uspace/lib/libc/arch/amd64/include/endian.h
/branches/tracing/uspace/lib/libc/arch/arm32/include/endian.h
/branches/tracing/uspace/lib/libc/arch/ia32/include/endian.h
/branches/tracing/uspace/lib/libc/arch/ia64/include/endian.h
/branches/tracing/uspace/lib/libc/arch/mips32/include/endian.h
/branches/tracing/uspace/lib/libc/arch/mips32eb/include/endian.h
/branches/tracing/uspace/lib/libc/arch/ppc32/include/endian.h
/branches/tracing/uspace/lib/libc/arch/ppc64/include/context_offset.h
/branches/tracing/uspace/lib/libc/arch/ppc64/include/endian.h
/branches/tracing/uspace/lib/libc/arch/sparc64/include/context_offset.h
/branches/tracing/uspace/lib/libc/arch/sparc64/include/endian.h
/branches/tracing/uspace/lib/libc/include/endian.h
/branches/tracing/HelenOS.config
/branches/tracing/boot/boot.config
/branches/tracing/kernel/arch/amd64/include/byteorder.h
/branches/tracing/kernel/arch/arm32/include/byteorder.h
/branches/tracing/kernel/arch/ia32/include/byteorder.h
/branches/tracing/kernel/arch/ia64/include/byteorder.h
/branches/tracing/kernel/arch/mips32/include/byteorder.h
/branches/tracing/kernel/arch/mips32/src/drivers/arc.c
/branches/tracing/kernel/arch/ppc32/include/byteorder.h
/branches/tracing/kernel/arch/ppc32/include/context_offset.h
/branches/tracing/kernel/arch/ppc64/include/byteorder.h
/branches/tracing/kernel/arch/ppc64/include/context_offset.h
/branches/tracing/kernel/arch/ppc64/src/context.S
/branches/tracing/kernel/arch/sparc64/include/byteorder.h
/branches/tracing/kernel/arch/sparc64/include/context_offset.h
/branches/tracing/kernel/arch/sparc64/src/context.S
/branches/tracing/kernel/generic/include/byteorder.h
/branches/tracing/kernel/generic/src/debug/symtab.c
/branches/tracing/kernel/generic/src/lib/rd.c
/branches/tracing/kernel/generic/src/proc/thread.c
/branches/tracing/kernel/generic/src/synch/waitq.c
/branches/tracing/kernel/generic/src/time/timeout.c
/branches/tracing/kernel/kernel.config
/branches/tracing/tools/config.py
/branches/tracing/tools/cygwin_symlink_patch.sh
/branches/tracing/uspace/app/tester/ipc/connect.c
/branches/tracing/uspace/app/tester/ipc/send_async.c
/branches/tracing/uspace/app/tester/ipc/send_sync.c
/branches/tracing/uspace/app/tester/tester.c
/branches/tracing/uspace/app/tester/vfs/vfs1.c
/branches/tracing/uspace/lib/libc/arch/ppc64/src/fibril.S
/branches/tracing/uspace/lib/libc/arch/sparc64/src/fibril.S
/branches/tracing/uspace/lib/libc/generic/ipc.c
/branches/tracing/uspace/lib/libc/include/libadt/list.h
/branches/tracing/uspace/lib/libfs/libfs.c
/branches/tracing/uspace/lib/libfs/libfs.h
/branches/tracing/uspace/lib/softfloat/include/sftypes.h
/branches/tracing/uspace/srv/fs/fat/Makefile
/branches/tracing/uspace/srv/fs/fat/fat.h
/branches/tracing/uspace/srv/fs/fat/fat_ops.c
/branches/tracing/uspace/srv/fs/tmpfs/tmpfs_ops.c
/branches/tracing/uspace/srv/vfs/vfs.h
/branches/tracing/uspace/srv/vfs/vfs_ops.c
/branches/tracing/uspace/uspace.config
2921 5895 d 11 h svoboda /branches/tracing/kernel/ Add TRAP debug event. Support on ia32/amd64.  
/branches/tracing/kernel/arch/amd64/src/debugger.c
/branches/tracing/kernel/arch/ia32/include/cpu.h
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/udebug/udebug.c
2919 5895 d 11 h svoboda /branches/tracing/kernel/generic/ Simlify and fix REGS_READ and REGS_WRITE operations  
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/include/udebug/udebug_ops.h
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
2918 5895 d 21 h svoboda /branches/tracing/ Add support for INT3 breakpoints on IA32 to kernel. UDEBUG_EVENT_BREAKPOINT  
/branches/tracing/kernel/arch/ia32/include/breakpoint.h
/branches/tracing/kernel/arch/ia32/src/breakpoint.c
/branches/tracing/kernel/arch/ia32/Makefile.inc
/branches/tracing/kernel/arch/ia32/include/interrupt.h
/branches/tracing/kernel/arch/ia32/src/ia32.c
/branches/tracing/kernel/arch/ia32/src/pm.c
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/uspace/app/debug/main.c
2917 5895 d 21 h svoboda /branches/tracing/kernel/generic/src/udebug/ Fix: Must drop missed wakeups when waiting for go  
/branches/tracing/kernel/generic/src/udebug/udebug.c
2913 5896 d 2 h svoboda /branches/tracing/kernel/generic/src/ Print less debugging messages to make things go faster  
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
2908 5896 d 4 h svoboda /branches/tracing/kernel/generic/src/udebug/ Don't wait for another GO in THREAD_E event, terminate debugging of this thread instead  
/branches/tracing/kernel/generic/src/udebug/udebug.c
2903 5896 d 9 h svoboda /branches/tracing/ Rename event NEW_THREAD to THREAD_B. Add THREAD_E event - thread exit  
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/proc/thread.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/uspace/app/sctrace/sctrace.c
2902 5896 d 10 h svoboda /branches/tracing/kernel/generic/ Implement proper kbox thread shutdown, with all bells and whistles. Use THREAD->debug_active in udebug_stoppable_xx() and friends  
/branches/tracing/kernel/generic/include/proc/task.h
/branches/tracing/kernel/generic/include/proc/thread.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/proc/task.c
/branches/tracing/kernel/generic/src/proc/thread.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
2901 5896 d 22 h svoboda /branches/tracing/ Split SYSCALL event into SYSCALL_B and SYSCALL_E, the extra event allows seeing long-running syscalls immediately, as well as calls with invalid syscall id  
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/syscall/syscall.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
/branches/tracing/uspace/app/sctrace/sctrace.c
2900 5896 d 22 h svoboda /branches/tracing/kernel/generic/src/udebug/ Remove superfluous malloc return value checks  
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
2899 5896 d 23 h svoboda /branches/tracing/ Add support for SET_EVMASK debug operation  
/branches/tracing/kernel/generic/include/proc/task.h
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/include/udebug/udebug_ops.h
/branches/tracing/kernel/generic/src/proc/task.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
/branches/tracing/uspace/app/sctrace/debug_api.c
/branches/tracing/uspace/app/sctrace/debug_api.h
/branches/tracing/uspace/app/sctrace/sctrace.c
2898 5897 d 0 h svoboda /branches/tracing/ Implement operation UDEBUG_M_STOP that stops a thread. Can be used for stopping program by hitting a key in debugger. Somewhat jittery demo in sctrace. Fix missing lock of THREAD->debug_lock in udebug_stoppable_end()  
/branches/tracing/kernel/generic/include/proc/thread.h
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/include/udebug/udebug_ops.h
/branches/tracing/kernel/generic/src/proc/thread.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
/branches/tracing/uspace/app/sctrace/debug_api.c
/branches/tracing/uspace/app/sctrace/debug_api.h
/branches/tracing/uspace/app/sctrace/sctrace.c
/branches/tracing/uspace/app/tester/debug/debug1.c
2897 5897 d 3 h svoboda /branches/tracing/kernel/generic/ Fix bad allocation with locks held in udebug_thread_read()  
/branches/tracing/kernel/generic/include/udebug/udebug_ops.h
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
2896 5897 d 3 h svoboda /branches/tracing/kernel/generic/src/udebug/ Handle malloc return values properly  
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
2894 5897 d 4 h svoboda /branches/tracing/ Add missing copyright messages  
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/include/udebug/udebug_ipc.h
/branches/tracing/kernel/generic/include/udebug/udebug_ops.h
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
/branches/tracing/uspace/app/sctrace/debug_api.c
/branches/tracing/uspace/app/sctrace/debug_api.h
/branches/tracing/uspace/app/sctrace/errors.c
/branches/tracing/uspace/app/sctrace/errors.h
/branches/tracing/uspace/app/sctrace/ipc_desc.c
/branches/tracing/uspace/app/sctrace/ipc_desc.h
/branches/tracing/uspace/app/sctrace/ipcp.c
/branches/tracing/uspace/app/sctrace/ipcp.h
/branches/tracing/uspace/app/sctrace/proto.c
/branches/tracing/uspace/app/sctrace/proto.h
/branches/tracing/uspace/app/sctrace/sctrace.c
/branches/tracing/uspace/app/sctrace/syscalls.c
/branches/tracing/uspace/app/sctrace/syscalls.h
/branches/tracing/uspace/app/tester/debug/debug1.c
/branches/tracing/uspace/lib/libc/include/udebug.h
2892 5898 d 10 h svoboda /branches/tracing/kernel/generic/src/ Fix retval for udebug_rp_mem_write()  
/branches/tracing/kernel/generic/src/ipc/sysipc.c
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
2888 5903 d 7 h svoboda /branches/tracing/kernel/generic/src/udebug/ Verify that a task sending debug calls really is the callee's debugger  
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
2887 5903 d 7 h svoboda /branches/tracing/kernel/ Split executive parts of udebug_ipc.c to udebug_ops.c  
/branches/tracing/kernel/generic/include/udebug/udebug_ops.h
/branches/tracing/kernel/generic/src/udebug/udebug_ops.c
/branches/tracing/kernel/Makefile
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
2886 5903 d 9 h svoboda /branches/tracing/kernel/generic/src/udebug/ Move rest of debug method processing, that can be moved, to kbox thread  
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
2885 5903 d 10 h svoboda /branches/tracing/ Start moving debug method processing to kbox_thread. Start with BEGIN, END, THREAD_READ  
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
/branches/tracing/uspace/app/sctrace/debug_api.c
2870 5905 d 22 h svoboda /branches/tracing/kernel/generic/ Terminate debugging session on debugger disconnect  
/branches/tracing/kernel/generic/include/proc/task.h
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/ipc/ipc.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/kernel/generic/src/udebug/udebug_ipc.c
2869 5905 d 22 h svoboda /branches/tracing/kernel/generic/src/time/ Make preempted threads stoppable, so CPU-bound threads can be stopped  
/branches/tracing/kernel/generic/src/time/clock.c
2867 5906 d 3 h svoboda /branches/tracing/ Signal hash of new thread with a UDEBUG_EVENT_NEW_THREAD message  
/branches/tracing/kernel/generic/include/udebug/udebug.h
/branches/tracing/kernel/generic/src/proc/thread.c
/branches/tracing/kernel/generic/src/udebug/udebug.c
/branches/tracing/uspace/app/sctrace/sctrace.c
/branches/tracing/uspace/app/tester/debug/debug1.c