Erich Hoover a écrit :
I am not very familiar with the winedbg code and do not see any easy (ie, non-hackish) way to get the length of the string in order to properly allocate the name size. I could read back a "large buffer" and use the string resulting from that to determine how large of a name to allocate, but that seems slightly hackish. If you have a suggestion then I'm all ears.
not really, my point was not to allocate a large buffer for every thread... then reading the thread name requires either that you grow the buffer while reading small chunks (that would be the less expensive solution) A+
Erich Hoover ehoover@mines.edu mailto:ehoover@mines.edu
On 3/11/07, *Eric Pouech* <eric.pouech@wanadoo.fr mailto:eric.pouech@wanadoo.fr> wrote:
Erich Hoover a écrit : > Real Name: > Erich Hoover > Description: > The thread name length in winedbg is currently restricted to 9 > characters, this is not nearly long enough for debugging threads in > the Supreme Commander demo and results in character corruption on the > terminal. Since this particular application names one of the threads > with the map path (Map loader /maps/scmp_019/scmp_019.scmap), a > significant increase in the number of characters is necessary. This > patch ups the allowed thread name length to 100 characters and > null-terminates the string in case an application exceeds that > threshold value. > Changelog: > winedbg: Support longer thread names in that case, it would be better to dynamically allocate the string (and to create it by default at 5 bytes for the %04x value) furthermore, you need to change the comment in debugger.h in THREADNAME_INFO structure about the name's length, as it seems VC7 removed the restriction to 8 characters that existed in VC6 A+