3
gdb說明如下。使用gdb設置多線程應用程序的觀察點
警告:在多線程程序中,軟件觀察點只具有有限的用處。如果gdb創建一個軟件觀察點,它只能在單個線程中觀察表達式的值。如果您確信表達式只能由於當前線程的活動而改變(並且您確信沒有其他線程可以成爲當前活動),那麼您可以照常使用軟件觀察點。但是,當非當前線程的活動更改表達式時,gdb可能不會注意到。 (硬件觀察點,相反,在觀看所有線程的表情。)
所以,我怎麼能使用觀察點使用gdb的多線程,這樣的改變可以從任何線程觀察的變量是由GDB見過?
那麼,我該如何告訴gdb使用硬件觀察點而不是軟件? – MetallicPriest
是gdb誰選擇它如何實現觀察點。硬件觀察點只能在極少數標量(固定)地址上使用。 –
確保你的gdb實際上可以使用hw watchpoints:'(gdb)show can-use-hw-watchpoints'。 –