contract users{
struct User{
uint id;
string str;
}
User [] public adds;
function del(){
delete adds;
}
function delElem(uint i){
delete adds[i];
}
function add(uint id,string cc){
adds.push(User(id,cc));
}
function getLength()constant returns(uint){
return adds.length;
}}
как отладить этот контракт в описании ссылки здесь, может ли точка останова быть действительной?
Отладчика Solidity нет, есть только отладчик EVM. Это одна из вкладок справа. Это позволяет вам выполнять инструкции EVM и видеть состояние памяти и хранилища. Для отладки кода Solidity я предлагаю вместо этого добавить события. Например:
contract users{
event LogThis(uint arg);
struct User{
uint id;
string str;
}
User [] public adds;
function del(){
delete adds;
}
function delElem(uint i){
delete adds[i];
}
function add(uint id,string cc){
adds.push(User(id,cc));
}
function getLength()constant returns(uint){
LogThis(adds.length);
return adds.length;
}}
Вы увидите это событие при выполнении транзакций.
throw
в цепочке выполнения. Таким образом, события являются "друзьями хорошей погоды".
Бадр Беллай