There's time zone information in windows dumps stored in MINIDUMP_MISC_INFO_N, yet I couldn't find the command which prints this information in windbg. So, I have to extract this information from the dump manually...
There is a command .timezone
which prints the timezone StandardName
:\>tzutil /s "Greenwich Standard Time"
:\>cdb -c ".timezone;q" calc.exe | grep -B 1 -A 1 Green
0:000> cdb: Reading initial command '.timezone;q'
Time zone: Greenwich Standard Time; (UTC - 00:00)
quit:
:\>tzutil /s "Tokyo Standard Time"
:\>cdb -c ".timezone;q" calc.exe | grep -B 1 -A 1 Tokyo
0:000> cdb: Reading initial command '.timezone;q'
Time zone: Tokyo Standard Time; (UTC + 09:00)
quit:
:\>tzutil /s "India Standard Time"
:\>cdb -c ".timezone;q" calc.exe | grep -B 1 -A 1 India
0:000> cdb: Reading initial command '.timezone;q'
Time zone: India Standard Time; (UTC + 05:30)
quit:
if you want something else from the misc structure you can code some thing along this line and retrieve all information
#include <engextcpp.hpp>
#include <dbghelp.h>
class EXT_CLASS : public ExtExtension {
public:
EXT_COMMAND_METHOD(tzinfo);
};
EXT_DECLARE_GLOBALS();
EXT_COMMAND(tzinfo,"Output TimeZoneInfo","{;e,o,d=0;tzinfo;Print TimeZone}")
{
Out("outputs timezone info \n");
MINIDUMP_MISC_INFO_N Info;
HRESULT Status;
if ((Status = m_Advanced2->Request(DEBUG_REQUEST_MISC_INFORMATION,NULL,
0,&Info,sizeof(Info),NULL)) == S_OK){
Out("we recieved tzinfo %x\n %S\n" , Info.TimeZoneId , Info.TimeZone.StandardName);
} else {
Out("we didnot recieve tzinfo\n");
}
}
and use it like this
:\>.\cdb -c ".load tzinfo ;!tzinfo;q" calc | grep -A 4 Reading
0:000> cdb: Reading initial command '.load tzinfo ;!tzinfo;q'
outputs timezone info
we recieved tzinfo 0
India Standard Time
quit:
:\>tzutil /s "Tokyo Standard Time"
:\>.\cdb -c ".load tzinfo ;!tzinfo;q" calc | grep -A 4 Reading
0:000> cdb: Reading initial command '.load tzinfo ;!tzinfo;q'
outputs timezone info
we recieved tzinfo 0
Tokyo Standard Time
quit: