2013-10-11 47 views
0

我是C++中的新手,但需要爲某個項目添加一些功能 - https://github.com/coolwanglu/pdf2htmlEX 但是,例如,在HTMLRenderer/text.cc中是方法drawString,在運行程序中調用,但是我沒有看到整個項目調用這個函數。如何在C++中使用這個調用「telephaty」?嘗試查找任何信息,但在閱讀了關於C++的半本書後,沒有更多信息。C++和「telephaty」方法調用

+0

嘗試調試程序,在此方法上設置斷點並檢查回溯。 –

+0

謝謝,我看到了一些東西;) –

+0

這就好像你以前從未使用過電鑽一樣,試圖將油井延長500英尺,只是簡單地瀏覽了鑽頭的5,000頁手冊。 –

回答

0

附加到調試程序中,並在該方法中添加斷點。當斷點被擊中時,你會看到調用堆棧。

+0

這是堆棧: #0 waitpid()從/ lib/x86_64-linux-gnu /在print_trace libc.so.6的 #1()() #2在pdf2htmlEX :: HTMLRenderer drawString之::(GfxState *,GooString *)() #3在GFX :: doShowText在Gfx.cc:4033 # 4在Gfx :: opShowSpaceText在Gfx.cc:3828 #5在Gfx :: go在Gfx.cc:715 #6在Gfx :: display在Gfx.cc:681 #7在Page :: displaySlice at Page .cc:523 #8在Page ::顯示在Page.cc:451 #9 in pdf2htmlEX :: HTMLRenderer :: process(PDFDoc *)() #10 in main() –

+0

但在H TMLRenderer :: process方法正在調用第三方庫,並且從這個庫被稱爲drawString方法?怎麼可能影響這個?從我的角度來看是不透明的,還是任何機制如何工作? –

+0

這裏涉及到某種第三方框架,應用程序通過實現drawString方法 – codeling