loop device에 대해 write 명령시 아래와 같은 call을 호출하게 되는데요
loop_queue_work->ext4_file_write_iter->ext4_da_write_begin->__block_write_begin_int->ll_rw_block
write 과정동안 캐시 메모리 할당과 버퍼헤드 할당을 받게 됩니다. 이후 ll_rw_block에서 read가 발생하게 되는데요.
이때 어떠한 정보를 read하는지 알고 싶은데 gdb?ftrace?perf?어떤것으로 이것을 알 수 있을까요.
소스인사이트를 모니터 반만한 크기로 사용하다가 어느순간 모니터 크기로 크기를 키우면
열려있던 소스창이 모니터 반만 나오고 반은 안보입니다.
이때 어떻게 해야하느나요?
렉걸린 소스창만 닫은다음에 다시 키면 잘되는데, 그러면 북마크 지정해 놓은것이 다 날라갑니다.
소스창을 닫았다 열어도 북마크가 안날라가는 방법과 이 렉걸림(?)현상을 어떻게 해야하는지 알려주세요 ㅠ
문제의 발단은 한글로된 실행 파일을 실행 시켜 나온 PID로 부터 실행 파일 PATH를 루비로 받아옵니다. 여기서 PATH는 CP949로 인코딩된 문자열인데 루비가 처음 스트링으로 인식할 때 UTF-8로 인식하여 문제가 일어나는것 같습니다. 저는 이 문자열을 정말 UTF-8로 인코딩한 후 file read를 해야합니다.
파이썬 코드로 해야 하는 작업을 표현하면 다음과 같습니다.
>>> a = '\xc5\xd7\xbd\xba\xc6\xae'
>>> a.decode('cp949').encode('utf-8')
'\xed\x85\x8c\xec\x8a\xa4\xed\x8a\xb8'