* System call support in reversible debugging @ 2009-11-27 15:11 Sean Chen 2009-11-27 15:42 ` Hui Zhu 0 siblings, 1 reply; 19+ messages in thread From: Sean Chen @ 2009-11-27 15:11 UTC (permalink / raw) To: gdb Hi, Can gdb record system calls without checkpoints or snapshots currently? If not, is it possible to record the instructions and reverse the inferior? When I recorded fclose(), I got the following message. The next instruction is syscall munmap. It will free the memory addr = 0xb7fe0000 len = 4096. It will make record target get error. Do you want to stop the program?([y] or n) Thanks in advance. -- Best Regards, Sean Chen ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-11-27 15:11 System call support in reversible debugging Sean Chen @ 2009-11-27 15:42 ` Hui Zhu 2009-11-27 18:11 ` Sean Chen 0 siblings, 1 reply; 19+ messages in thread From: Hui Zhu @ 2009-11-27 15:42 UTC (permalink / raw) To: Sean Chen; +Cc: gdb This is a old query. For now, this munmap just can let prec ignore some memory change record entry. You can answer 'no' then inferior will keep exec. Most of thing will be find. :) Maybe we need update this query looks not so scary and do some other update. Thanks, Hui On Fri, Nov 27, 2009 at 14:31, Sean Chen <sean.chen1234@gmail.com> wrote: > Hi, > > Can gdb record system calls without checkpoints or snapshots > currently? If not, is it possible to record the instructions and > reverse the inferior? > > When I recorded fclose(), I got the following message. > The next instruction is syscall munmap. It will free the memory addr > = 0xb7fe0000 len = 4096. It will make record target get error. Do > you want to stop the program?([y] or n) > > Thanks in advance. > > -- > Best Regards, > Sean Chen > ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-11-27 15:42 ` Hui Zhu @ 2009-11-27 18:11 ` Sean Chen 2009-11-28 1:45 ` Hui Zhu 0 siblings, 1 reply; 19+ messages in thread From: Sean Chen @ 2009-11-27 18:11 UTC (permalink / raw) To: Hui Zhu; +Cc: gdb On Fri, Nov 27, 2009 at 4:04 PM, Hui Zhu <teawater@gmail.com> wrote: > This is a old query. For now, this munmap just can let prec ignore > some memory change record entry. > > You can answer 'no' then inferior will keep exec. Most of thing will > be find. :) > > Maybe we need update this query looks not so scary and do some other update. > > Thanks, > Hui > > On Fri, Nov 27, 2009 at 14:31, Sean Chen <sean.chen1234@gmail.com> wrote: >> Hi, >> >> Can gdb record system calls without checkpoints or snapshots >> currently? If not, is it possible to record the instructions and >> reverse the inferior? >> >> When I recorded fclose(), I got the following message. >> The next instruction is syscall munmap. It will free the memory addr >> = 0xb7fe0000 len = 4096. It will make record target get error. Do >> you want to stop the program?([y] or n) >> >> Thanks in advance. >> >> -- >> Best Regards, >> Sean Chen >> > Thanks for your reply. Does it mean that we have to ignore all memory changes in all system calls or kernel space code? -- Best Regards, Sean Chen ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-11-27 18:11 ` Sean Chen @ 2009-11-28 1:45 ` Hui Zhu 2009-11-28 17:44 ` Sean Chen 0 siblings, 1 reply; 19+ messages in thread From: Hui Zhu @ 2009-11-28 1:45 UTC (permalink / raw) To: Sean Chen; +Cc: gdb No. munmap is not memory change. It release memory. Hui On Fri, Nov 27, 2009 at 23:11, Sean Chen <sean.chen1234@gmail.com> wrote: > On Fri, Nov 27, 2009 at 4:04 PM, Hui Zhu <teawater@gmail.com> wrote: >> This is a old query. For now, this munmap just can let prec ignore >> some memory change record entry. >> >> You can answer 'no' then inferior will keep exec. Most of thing will >> be find. :) >> >> Maybe we need update this query looks not so scary and do some other update. >> >> Thanks, >> Hui >> >> On Fri, Nov 27, 2009 at 14:31, Sean Chen <sean.chen1234@gmail.com> wrote: >>> Hi, >>> >>> Can gdb record system calls without checkpoints or snapshots >>> currently? If not, is it possible to record the instructions and >>> reverse the inferior? >>> >>> When I recorded fclose(), I got the following message. >>> The next instruction is syscall munmap. It will free the memory addr >>> = 0xb7fe0000 len = 4096. It will make record target get error. Do >>> you want to stop the program?([y] or n) >>> >>> Thanks in advance. >>> >>> -- >>> Best Regards, >>> Sean Chen >>> >> > > Thanks for your reply. > > Does it mean that we have to ignore all memory changes in all system > calls or kernel space code? > > -- > Best Regards, > Sean Chen > ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-11-28 1:45 ` Hui Zhu @ 2009-11-28 17:44 ` Sean Chen 2009-11-29 2:24 ` Michael Snyder 0 siblings, 1 reply; 19+ messages in thread From: Sean Chen @ 2009-11-28 17:44 UTC (permalink / raw) To: Hui Zhu; +Cc: gdb On Fri, Nov 27, 2009 at 11:16 PM, Hui Zhu <teawater@gmail.com> wrote: > No. munmap is not memory change. It release memory. > > Hui > > On Fri, Nov 27, 2009 at 23:11, Sean Chen <sean.chen1234@gmail.com> wrote: >> On Fri, Nov 27, 2009 at 4:04 PM, Hui Zhu <teawater@gmail.com> wrote: >>> This is a old query. For now, this munmap just can let prec ignore >>> some memory change record entry. >>> >>> You can answer 'no' then inferior will keep exec. Most of thing will >>> be find. :) >>> >>> Maybe we need update this query looks not so scary and do some other update. >>> >>> Thanks, >>> Hui >>> >>> On Fri, Nov 27, 2009 at 14:31, Sean Chen <sean.chen1234@gmail.com> wrote: >>>> Hi, >>>> >>>> Can gdb record system calls without checkpoints or snapshots >>>> currently? If not, is it possible to record the instructions and >>>> reverse the inferior? >>>> >>>> When I recorded fclose(), I got the following message. >>>> The next instruction is syscall munmap. It will free the memory addr >>>> = 0xb7fe0000 len = 4096. It will make record target get error. Do >>>> you want to stop the program?([y] or n) >>>> >>>> Thanks in advance. >>>> >>>> -- >>>> Best Regards, >>>> Sean Chen >>>> >>> >> >> Thanks for your reply. >> >> Does it mean that we have to ignore all memory changes in all system >> calls or kernel space code? >> >> -- >> Best Regards, >> Sean Chen >> > Thanks. Well. You mentioned that this munmap just can let prec ignore some memory change record entry. Could you please show me what kind of memory change is ignored? Can gdb record the system call? -- Best Regards, Sean Chen ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-11-28 17:44 ` Sean Chen @ 2009-11-29 2:24 ` Michael Snyder 2009-11-29 2:24 ` Sean Chen 0 siblings, 1 reply; 19+ messages in thread From: Michael Snyder @ 2009-11-29 2:24 UTC (permalink / raw) To: Sean Chen; +Cc: Hui Zhu, gdb Sean Chen wrote: > Well. You mentioned that this munmap just can let prec ignore some > memory change record entry. Could you please show me what kind of > memory change is ignored? > > Can gdb record the system call? These are two separate questions. I think the one you started with is can gdb record a system call, and the answer is "yes". The issue with mmap has a lot of history, and rather than try to explain it, I urge you to look up the threads which have "mmap" or "sbrk" in the title) and read them. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-11-29 2:24 ` Michael Snyder @ 2009-11-29 2:24 ` Sean Chen 2009-11-30 12:27 ` Michael Snyder 0 siblings, 1 reply; 19+ messages in thread From: Sean Chen @ 2009-11-29 2:24 UTC (permalink / raw) To: Michael Snyder; +Cc: Hui Zhu, gdb On Sat, Nov 28, 2009 at 2:07 AM, Michael Snyder <msnyder@vmware.com> wrote: > These are two separate questions. I think the one you started with > is can gdb record a system call, and the answer is "yes". > > > The issue with mmap has a lot of history, and rather than try to > explain it, I urge you to look up the threads which have "mmap" > or "sbrk" in the title) and read them. > > Thanks for the explanation. That is very kind of you. I am confused about the first question. How does gdb record the system call instructions? You know, they are in the kernel space? It seems that I must have made a mistake somewhere. Please help to clarify. Thanks in advance. -- Best Regards, Sean Chen ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-11-29 2:24 ` Sean Chen @ 2009-11-30 12:27 ` Michael Snyder 2009-11-30 16:03 ` Hui Zhu 0 siblings, 1 reply; 19+ messages in thread From: Michael Snyder @ 2009-11-30 12:27 UTC (permalink / raw) To: Sean Chen; +Cc: Hui Zhu, gdb Sean Chen wrote: > On Sat, Nov 28, 2009 at 2:07 AM, Michael Snyder <msnyder@vmware.com> wrote: >> These are two separate questions. I think the one you started with >> is can gdb record a system call, and the answer is "yes". >> >> >> The issue with mmap has a lot of history, and rather than try to >> explain it, I urge you to look up the threads which have "mmap" >> or "sbrk" in the title) and read them. >> >> > > Thanks for the explanation. That is very kind of you. > > I am confused about the first question. How does gdb record the system > call instructions? You know, they are in the kernel space? It seems > that I must have made a mistake somewhere. Please help to clarify. > > Thanks in advance. Sean, I wish I understood this better -- maybe Hui will explain it more. As I understand it, each system call is recorded as if it were a single instruction. Instead of 'tracing' into the system code, we know the specific side effects for each system call, and for instance if the syscall will write to a buffer we take a snapshot of that buffer first. Michael ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-11-30 12:27 ` Michael Snyder @ 2009-11-30 16:03 ` Hui Zhu 2009-11-30 16:29 ` Sean Chen 0 siblings, 1 reply; 19+ messages in thread From: Hui Zhu @ 2009-11-30 16:03 UTC (permalink / raw) To: Michael Snyder <msnyder@vmware.com>,Sean Chen; +Cc: gdb Cool! I think your explain is very clear. Thanks. :) Hui On Sun, Nov 29, 2009 at 01:40, Michael Snyder <msnyder@vmware.com> wrote: > Sean Chen wrote: >> >> On Sat, Nov 28, 2009 at 2:07 AM, Michael Snyder <msnyder@vmware.com> >> wrote: >>> >>> These are two separate questions. I think the one you started with >>> is can gdb record a system call, and the answer is "yes". >>> >>> >>> The issue with mmap has a lot of history, and rather than try to >>> explain it, I urge you to look up the threads which have "mmap" >>> or "sbrk" in the title) and read them. >>> >>> >> >> Thanks for the explanation. That is very kind of you. >> >> I am confused about the first question. How does gdb record the system >> call instructions? You know, they are in the kernel space? It seems >> that I must have made a mistake somewhere. Please help to clarify. >> >> Thanks in advance. > > Sean, > > I wish I understood this better -- maybe Hui will explain it more. > > As I understand it, each system call is recorded as if it were a > single instruction. Instead of 'tracing' into the system code, > we know the specific side effects for each system call, and for > instance if the syscall will write to a buffer we take a snapshot > of that buffer first. > > Michael > > ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-11-30 16:03 ` Hui Zhu @ 2009-11-30 16:29 ` Sean Chen 2009-12-01 11:32 ` Jakob Engblom [not found] ` <4B142C54.7070207@vmware.com> 0 siblings, 2 replies; 19+ messages in thread From: Sean Chen @ 2009-11-30 16:29 UTC (permalink / raw) To: Hui Zhu; +Cc: gdb On Mon, Nov 30, 2009 at 8:27 PM, Hui Zhu <teawater@gmail.com> wrote: > Cool! I think your explain is very clear. Thanks. :) > > Hui > > On Sun, Nov 29, 2009 at 01:40, Michael Snyder <msnyder@vmware.com> wrote: >> Sean Chen wrote: >>> >>> On Sat, Nov 28, 2009 at 2:07 AM, Michael Snyder <msnyder@vmware.com> >>> wrote: >>>> >>>> These are two separate questions. I think the one you started with >>>> is can gdb record a system call, and the answer is "yes". >>>> >>>> >>>> The issue with mmap has a lot of history, and rather than try to >>>> explain it, I urge you to look up the threads which have "mmap" >>>> or "sbrk" in the title) and read them. >>>> >>>> >>> >>> Thanks for the explanation. That is very kind of you. >>> >>> I am confused about the first question. How does gdb record the system >>> call instructions? You know, they are in the kernel space? It seems >>> that I must have made a mistake somewhere. Please help to clarify. >>> >>> Thanks in advance. >> >> Sean, >> >> I wish I understood this better -- maybe Hui will explain it more. >> >> As I understand it, each system call is recorded as if it were a >> single instruction. Instead of 'tracing' into the system code, >> we know the specific side effects for each system call, and for >> instance if the syscall will write to a buffer we take a snapshot >> of that buffer first. >> >> Michael >> >> > Hi Michael and Hui, I am sorry for my late response. Thanks for your explanation. So we can’t treat the system calls as a black box and have to understand the detailed implementation of each system call. I think we need to understand every lines of the code in the system calls carefully enough, and care about the difference of the Linux kernel since the code of system calls might change frequently. Do we have any good ways to do it? Thanks. -- Best Regards, Sean Chen ^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: System call support in reversible debugging 2009-11-30 16:29 ` Sean Chen @ 2009-12-01 11:32 ` Jakob Engblom 2009-12-01 20:21 ` Greg Law [not found] ` <4B142C54.7070207@vmware.com> 1 sibling, 1 reply; 19+ messages in thread From: Jakob Engblom @ 2009-12-01 11:32 UTC (permalink / raw) To: 'Sean Chen', 'Hui Zhu'; +Cc: gdb > Hi Michael and Hui, > > I am sorry for my late response. > > Thanks for your explanation. So we cant treat the system calls as a > black box and have to understand the detailed implementation of each > system call. I think we need to understand every lines of the code in > the system calls carefully enough, and care about the difference of > the Linux kernel since the code of system calls might change > frequently. Do we have any good ways to do it? To really do this right, you should use a full-system simulator that lets you debug OS and user code at the same time, as it is attacking the system at the hardware/software interface level. As long as you attack a program as a user-level problem only, you cannot debug into the kernel, as the process record facilities are built on kernel features that only apply to user-level programs. As I understand it. Both VmWare and Virtutech offer solutions for this that you can drive over gdb-serial, in reverse when needed. Best regards, /jakob _______________________________________________________ Jakob Engblom, PhD, Technical Marketing Manager Virtutech Direct: +46 8 690 07 47 Drottningholmsvägen 22 Mobile: +46 709 242 646 11243 Stockholm Web: www.virtutech.com Sweden ________________________________________________________ ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-12-01 11:32 ` Jakob Engblom @ 2009-12-01 20:21 ` Greg Law 2009-12-02 17:16 ` Jakob Engblom 0 siblings, 1 reply; 19+ messages in thread From: Greg Law @ 2009-12-01 20:21 UTC (permalink / raw) To: Jakob Engblom; +Cc: 'Sean Chen', 'Hui Zhu', gdb Ok, I can't resist jumping in :) Jakob Engblom wrote: > >> Hi Michael and Hui, >> >> I am sorry for my late response. >> >> Thanks for your explanation. So we canÂ’t treat the system calls as a >> black box and have to understand the detailed implementation of each >> system call. I think we need to understand every lines of the code in >> the system calls carefully enough, and care about the difference of >> the Linux kernel since the code of system calls might change >> frequently. Do we have any good ways to do it? > > To really do this right, you should use a full-system simulator that lets you > debug OS and user code at the same time, as it is attacking the system at the > hardware/software interface level. It all depends what you want to do. If you want to debug kernel code, then absolutely you need a full system approach, such as Simics or VMware offers. Similarly if you want to debug the whole host. But if you're debugging just a process (i.e. the classic use-case of gdb), you may not want to wind back the state of the entire (virtual) machine. In which case, something like UndoDB or prec is more appropriate. I don't claim either approach is superior. It's a bit like native debugging versus remote debugging. Which one makes most sense all depends on what it is you're trying to debug. Greg -- Greg Law, Undo Software http://undo-software.com/ ^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: System call support in reversible debugging 2009-12-01 20:21 ` Greg Law @ 2009-12-02 17:16 ` Jakob Engblom 2009-12-03 3:05 ` Sean Chen 0 siblings, 1 reply; 19+ messages in thread From: Jakob Engblom @ 2009-12-02 17:16 UTC (permalink / raw) To: 'Greg Law'; +Cc: 'Sean Chen', 'Hui Zhu', gdb > >> Hi Michael and Hui, > >> > >> I am sorry for my late response. > >> > >> Thanks for your explanation. So we can't treat the system calls as a > >> black box and have to understand the detailed implementation of each > >> system call. I think we need to understand every lines of the code in > >> the system calls carefully enough, and care about the difference of > >> the Linux kernel since the code of system calls might change > >> frequently. Do we have any good ways to do it? > > > > To really do this right, you should use a full-system simulator that lets you > > debug OS and user code at the same time, as it is attacking the system at the > > hardware/software interface level. > > It all depends what you want to do. > > If you want to debug kernel code, then absolutely you need a full system > approach, such as Simics or VMware offers. Similarly if you want to > debug the whole host. But if you're debugging just a process (i.e. the > classic use-case of gdb), you may not want to wind back the state of the > entire (virtual) machine. In which case, something like UndoDB or prec > is more appropriate. > > I don't claim either approach is superior. It's a bit like native > debugging versus remote debugging. Which one makes most sense all > depends on what it is you're trying to debug. Couldn't agree more. The full-system approach is a bit more gnarly, but it gives you more insight. It depends on the problem. /jakob ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-12-02 17:16 ` Jakob Engblom @ 2009-12-03 3:05 ` Sean Chen 0 siblings, 0 replies; 19+ messages in thread From: Sean Chen @ 2009-12-03 3:05 UTC (permalink / raw) To: Jakob Engblom; +Cc: Greg Law, Hui Zhu, gdb On Thu, Dec 3, 2009 at 1:16 AM, Jakob Engblom <jakob@virtutech.com> wrote: >> >> Hi Michael and Hui, >> >> >> >> I am sorry for my late response. >> >> >> >> Thanks for your explanation. So we can't treat the system calls as a >> >> black box and have to understand the detailed implementation of each >> >> system call. I think we need to understand every lines of the code in >> >> the system calls carefully enough, and care about the difference of >> >> the Linux kernel since the code of system calls might change >> >> frequently. Do we have any good ways to do it? >> > >> > To really do this right, you should use a full-system simulator that lets > you >> > debug OS and user code at the same time, as it is attacking the system at > the >> > hardware/software interface level. >> >> It all depends what you want to do. >> >> If you want to debug kernel code, then absolutely you need a full system >> approach, such as Simics or VMware offers. Similarly if you want to >> debug the whole host. But if you're debugging just a process (i.e. the >> classic use-case of gdb), you may not want to wind back the state of the >> entire (virtual) machine. In which case, something like UndoDB or prec >> is more appropriate. >> >> I don't claim either approach is superior. It's a bit like native >> debugging versus remote debugging. Which one makes most sense all >> depends on what it is you're trying to debug. > > Couldn't agree more. The full-system approach is a bit more gnarly, but it > gives you more insight. It depends on the problem. > > /jakob > > Hi Jakob and Greg, You are both right. These two solutions focus on different problems. If you want to debug a user space process and don’t care what’s going on in the system call at all, Michael’s solution is OK. If you want to look more closely into the kernel, a full-system simulator is absolutely the best one. -- Best Regards, Sean Chen ^ permalink raw reply [flat|nested] 19+ messages in thread
[parent not found: <4B142C54.7070207@vmware.com>]
* Re: System call support in reversible debugging [not found] ` <4B142C54.7070207@vmware.com> @ 2009-12-03 2:57 ` Sean Chen 2009-12-03 9:00 ` Jakob Engblom 2009-12-03 16:57 ` Michael Snyder 0 siblings, 2 replies; 19+ messages in thread From: Sean Chen @ 2009-12-03 2:57 UTC (permalink / raw) To: Michael Snyder; +Cc: Hui Zhu, gdb On Tue, Dec 1, 2009 at 4:34 AM, Michael Snyder <msnyder@vmware.com> wrote: > Not a black box -- but not a detailed implementation either. > Each system call has a specification -- that's all we need to > understand. The specification tells what user-visible external > side effects can be expected (eg. this buffer will be filled). > Changes that are internal to the kernel do not concern us. Thanks. I understand your concern. Does Linux kernel provide such an official specification? If so, could you throw me a hint on where to get it? Since we have all of the side effects, recording the system calls are feasible and trustable. > Sean, this stuff is already implemented and working. > Why don't you have a look at the existing code in > linux-record.c? It sounds like you're more than qualified > to understand it. If you find something that's not working > correctly, please let us know! ;-) I am reading the source and the archive of the mailing list. Do you have other systematic documents on this technique? Life becomes better with your help. Thanks. :) -- Best Regards, Sean Chen ^ permalink raw reply [flat|nested] 19+ messages in thread
* RE: System call support in reversible debugging 2009-12-03 2:57 ` Sean Chen @ 2009-12-03 9:00 ` Jakob Engblom 2009-12-04 15:40 ` Sean Chen 2009-12-03 16:57 ` Michael Snyder 1 sibling, 1 reply; 19+ messages in thread From: Jakob Engblom @ 2009-12-03 9:00 UTC (permalink / raw) To: 'Sean Chen', 'Michael Snyder'; +Cc: 'Hui Zhu', gdb > > Not a black box -- but not a detailed implementation either. > > Each system call has a specification -- that's all we need to > > understand. The specification tells what user-visible external > > side effects can be expected (eg. this buffer will be filled). > > Changes that are internal to the kernel do not concern us. > > Thanks. I understand your concern. Does Linux kernel provide such an > official specification? If so, could you throw me a hint on where to > get it? Since we have all of the side effects, recording the system > calls are feasible and trustable. I guess these have to be the header files specifying the function call prototypes? Or is something else also done for precord? /jakob ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-12-03 9:00 ` Jakob Engblom @ 2009-12-04 15:40 ` Sean Chen 0 siblings, 0 replies; 19+ messages in thread From: Sean Chen @ 2009-12-04 15:40 UTC (permalink / raw) To: Jakob Engblom; +Cc: Michael Snyder, Hui Zhu, gdb On Thu, Dec 3, 2009 at 5:00 PM, Jakob Engblom <jakob@virtutech.com> wrote: >> > Not a black box -- but not a detailed implementation either. >> > Each system call has a specification -- that's all we need to >> > understand. The specification tells what user-visible external >> > side effects can be expected (eg. this buffer will be filled). >> > Changes that are internal to the kernel do not concern us. >> >> Thanks. I understand your concern. Does Linux kernel provide such an >> official specification? If so, could you throw me a hint on where to >> get it? Since we have all of the side effects, recording the system >> calls are feasible and trustable. > > I guess these have to be the header files specifying the function call > prototypes? > > Or is something else also done for precord? > > /jakob > > I searched sys_open in the whole Linux kernel, and I didn’t find such information. Thanks all the same. -- Best Regards, Sean Chen ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-12-03 2:57 ` Sean Chen 2009-12-03 9:00 ` Jakob Engblom @ 2009-12-03 16:57 ` Michael Snyder 2009-12-04 15:46 ` Sean Chen 1 sibling, 1 reply; 19+ messages in thread From: Michael Snyder @ 2009-12-03 16:57 UTC (permalink / raw) To: Sean Chen; +Cc: Hui Zhu, gdb Sean Chen wrote: > On Tue, Dec 1, 2009 at 4:34 AM, Michael Snyder <msnyder@vmware.com> wrote: >> Not a black box -- but not a detailed implementation either. >> Each system call has a specification -- that's all we need to >> understand. The specification tells what user-visible external >> side effects can be expected (eg. this buffer will be filled). >> Changes that are internal to the kernel do not concern us. > > Thanks. I understand your concern. Does Linux kernel provide such an > official specification? If so, could you throw me a hint on where to > get it? Since we have all of the side effects, recording the system > calls are feasible and trustable. > >> Sean, this stuff is already implemented and working. >> Why don't you have a look at the existing code in >> linux-record.c? It sounds like you're more than qualified >> to understand it. If you find something that's not working >> correctly, please let us know! ;-) > > I am reading the source and the archive of the mailing list. Do you > have other systematic documents on this technique? Life becomes better > with your help. Thanks. :) Teawater implemented them, I am only reverse-engineering them, like you. Man pages are helpful. ;-) ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: System call support in reversible debugging 2009-12-03 16:57 ` Michael Snyder @ 2009-12-04 15:46 ` Sean Chen 0 siblings, 0 replies; 19+ messages in thread From: Sean Chen @ 2009-12-04 15:46 UTC (permalink / raw) To: Michael Snyder; +Cc: Hui Zhu, gdb On Fri, Dec 4, 2009 at 12:57 AM, Michael Snyder <msnyder@vmware.com> wrote: > Sean Chen wrote: >> >> On Tue, Dec 1, 2009 at 4:34 AM, Michael Snyder <msnyder@vmware.com> wrote: >>> >>> Not a black box -- but not a detailed implementation either. >>> Each system call has a specification -- that's all we need to >>> understand. The specification tells what user-visible external >>> side effects can be expected (eg. this buffer will be filled). >>> Changes that are internal to the kernel do not concern us. >> >> Thanks. I understand your concern. Does Linux kernel provide such an >> official specification? If so, could you throw me a hint on where to >> get it? Since we have all of the side effects, recording the system >> calls are feasible and trustable. >> >>> Sean, this stuff is already implemented and working. >>> Why don't you have a look at the existing code in >>> linux-record.c? It sounds like you're more than qualified >>> to understand it. If you find something that's not working >>> correctly, please let us know! ;-) >> >> I am reading the source and the archive of the mailing list. Do you >> have other systematic documents on this technique? Life becomes better >> with your help. Thanks. :) > > Teawater implemented them, I am only reverse-engineering > them, like you. Man pages are helpful. ;-) > > Man pages just tell how to use it. It won’t tell why use it. Hui, Could you help with this? Thanks in advance. -- Best Regards, Sean Chen ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2009-12-04 15:46 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-27 15:11 System call support in reversible debugging Sean Chen
2009-11-27 15:42 ` Hui Zhu
2009-11-27 18:11 ` Sean Chen
2009-11-28 1:45 ` Hui Zhu
2009-11-28 17:44 ` Sean Chen
2009-11-29 2:24 ` Michael Snyder
2009-11-29 2:24 ` Sean Chen
2009-11-30 12:27 ` Michael Snyder
2009-11-30 16:03 ` Hui Zhu
2009-11-30 16:29 ` Sean Chen
2009-12-01 11:32 ` Jakob Engblom
2009-12-01 20:21 ` Greg Law
2009-12-02 17:16 ` Jakob Engblom
2009-12-03 3:05 ` Sean Chen
[not found] ` <4B142C54.7070207@vmware.com>
2009-12-03 2:57 ` Sean Chen
2009-12-03 9:00 ` Jakob Engblom
2009-12-04 15:40 ` Sean Chen
2009-12-03 16:57 ` Michael Snyder
2009-12-04 15:46 ` Sean Chen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox