ForewordDebug遇到一个诡异情况,之前没注意过单步失效简单说系统里有很多地方在read,但是debug的那个read,在进入read内部以后,会出现整个堆栈指针都跳变成另外一个线程中read流程ssize_tread(structfile*filep,void*buf,size_tnbytes){structinode*inode;intret=-EBADF;configASSERT(filep);inode=filep->f_inode;/* Was this file opened for read access? */if((filep->f_oflags&O;_RDOK)==0){/* No.. File is not read-able */ret=-EACCES;}/* Is a driver or mountpoint registered? If so, does it support the read
* method?
*/elseif(inode!=NULL&&inode-;>u.i_ops&&inode-;>u.i_ops->read){/* Yes.. then let it perform the read. NOTE that for the case of the
* mountpoint, we depend on
...
继续阅读
(87)