2017-12-05 7 views
0

,
을 표시하고 ~/.lldinit 파일의 ../chromium/src/third_party/WebKit/Tool/lldb/lldb_webkit.py을 구성,
을하지만 올바른 문자열을 표시하지 아니, 그것은 단지, 문자열의 길이를 할 수 있습니다 보여 내용을 표시하지 않으려면
디버깅에 불편하므로 문자열의 내용을 볼 수 없으며이 문제는 그림에 표시됩니다. 크롬 lldb 디버그 문자열을 내가 엑스 코드에서 크롬을 debuging하고

in the picture1, picture2

나는 내용이 비어 있지 바라며, 문자열 콘텐츠 currect를 표시하거나 올바른 문자열

+0

이 [code] (https://codereview.chromium.org/24178002/)를 ​​사용하면 [오류] (https://i.imgur.com/joO26Ao.png)가 표시됩니다. – yoution

답변

0

요약 포맷터 코드의 내용을 표시 할 수있는 좋은 방법이 내게 맞지 않아. 그것은 수행합니다

def WTFStringImpl_SummaryProvider(valobj, dict): 
    provider = WTFStringImplProvider(valobj, dict) 
    return "{ length = %d, is8bit = %d, contents = '%s' }" % (provider.get_length(), provider.is_8bit(), provider.to_string()) 

을 WTFStringImplProvider.is8_bit이 어디 : 그래서 % d의 형식으로 인쇄, SBValue 아닌 정수를 반환

def is_8bit(self): 
    return self.valobj.GetChildMemberWithName('is8_bit_') 

옳은 일처럼 보이지 않는다 할 것.

+0

주요 문제는, 내가 hava 코드를 'bool (self.valobj.GetChildMemberWithName ('is8_bit _ '). GetValue AsUnsigned (0))'로 변경하면 문자열 내용을 표시 할 수 없으며 객체에 구성원이 없을 수 있습니다. 'm_data8','m_data16' – yoution

+0

지역보기에서 WTFAtomicString 엔티티를 끄면 알 수 있습니다. lldb_webkit.py에있는 데이터 포맷터는 요약 포맷터 만 가지고 있으므로 locals 뷰 (또는'expr' 및'frame var'의 결과에서 멤버 표시를 변경하지 않습니다. 또한'--raw'를 이러한 명령을 사용하면 형식 자없이 원시 데이터 레이아웃을 볼 수 있습니다. –

관련 문제