C'è stato un official statement l'anno scorso che ha detto chiaramente che su 2.2 questo non è possibile per tutta una serie di motivi (che si riassumono nella mia frase sbrigativa: "Linux è fatto così"). Lo dicono anche nel thread della issue:
Released in NDK r5, unfortunately debugging threaded-code only works on Android 2.3 due to a platform bug that couldn't be fixed before.
Come nel discorso che facevamo nell'altro thread delle STL di iOS, io non sono totalmente d'accordo a classificare come bug tutto quello che apparentemente non funziona come dovrebbe. Certe limitazioni ad accettarle si fa prima, anche perché dietro di esse ci sono scelte consapevoli, a volte. In questo caso quello che nella issue è un bug, per chi lavora non da ieri su linux è una "feature" del kernel development e della sicurezza di linux.
In questo caso è semplicemente un limite nell'architettura del kernel di linux che su Android non era risolvibile senza un refactoring pesante dell'architettura o utilizzando una prassi del tutto standard ma molto più complessa da mettere in pratica con i device consumer (privilegi di root e kernel di debug, perché in alcuni casi serve anche quello!). Su PC non hai grossi problemi ma su i device mobili con l'hardware del negozio non ce la fai (poca RAM, principalmente, il rooting è un problema secondario). Anche per questo hanno deciso di non intervenire all'indietro sulla questione. Certe librerie (tipo la parte OpenGL SE 1.0) girano sul kernel e non sono debuggabili da fuori.
Non sono l'unico a dirti che non si dovrebbero usare i thread nativi per il codice utente con NDK. L'anno scorso lo scriveva pure ARM:
http://blogs.arm.com/software-enablement/238-10-android-ndk-tips/ARM ha un sacco di info preziose sia per iOS che per Android, in particolare se devi fare performance computing.
Purtroppo c'è anche una scelta implementativa hardware alla base di tutti sti scazzi: le CPU ARM sono ottimizzate per il codice lightweight (questo non vuol dire che siano più veloci, vuol dire che sono più efficienti in generale) e spesso il supporto a basso livello di cose inefficienti non è sostenuto quanto si dovrebbe, dando per scontato che nessuno si andrebbe ad impelagare in acque così rognose.
Anche su iOS ci sono moltissime funzionalità che non danno problemi in Obj-C e sono rognose se provi a farle in C++, per gli stessi motivi. Se è managed (o quasi), gira meglio e nessuno dovrebbe fare altrimenti.
Il problema di Android, secondo me è un'altro: troppa trasparenza su cosa succede dietro il prodotto e troppa fiducia sul fatto che chi sviluppa sulla piattaforma o sia un semplice user che non andrà mai oltre Dalvik o sia un super-espertone che conosce a menadito come funziona lo sviluppo sul kernel di linux (che è di una rogna mostruosa).
Anche per questo stanno riportando quasi tutto in userspace: agli utenti sarà più facile fare molte cose. Il problema, al tendere, però sarà avere molte più applicazioni che possono incartare l'intero sistema con un semplice memory leak o un buffer overflow, come avviene su iOS. Anche qui non si parla di difetti: sono scelte. E' pur sempre un hardware limitato ed ha bisogno di scorciatoie per funzionare in maniera accettabile.