> strAccount; uint64 nNumber; ssKey >>"> > strAccount; uint64 nNumber; ssKey >>"> > strAccount; uint64 nNumber; ssKey >>">
SN-3747 已核对来源,附原文与上下文。
这个钱包之前是配合什么用的?早期的账户补丁还是 git 构建?
What was this wallet used with? An early accounts patch or git build?
出错是在加载钱包时。我想一定是在这段里:
It's while loading the wallet. I assume it must be in this:
else if (strType == "acentry")
{
string strAccount;
ssKey >> strAccount;
uint64 nNumber;
ssKey >> nNumber;
if (nNumber > nAccountingEntryNumber)
nAccountingEntryNumber = nNumber;
}你能用这个检查:
You could check that with this:
else if (strType == "acentry")
{
string strAccount;
assert(!ssKey.empty());
ssKey >> strAccount;
uint64 nNumber;
if (ssKey.size() != 8 )
printf("***** %s %d
", strAccount.c_str(), ssKey.size());
assert(ssKey.empty() == false);
ssKey >> nNumber;
if (nNumber > nAccountingEntryNumber)
nAccountingEntryNumber = nNumber;
}git 上某个时期是否有过一个账户功能的过渡版本,其键仅有 ("acentry", "account")?
Was there an interim version of accounts on git at some point that had just ("acentry", "account") for the key?
如果你有 gdb,能在 gdb 里运行它并做一次回溯。
If you have gdb, you could run it in gdb and do a backtrace.
gdb --args bitcoin ...
gdb --args bitcoin ...
run
run
(等待异常出现)
(wait for exception)
bt
bt