It's hard to say from here, but could it be that Neko is actually not
loading the debug, but release version of your .ndll? (you'll have to
specifically point Neko to the debug version, since VC, doesn't control
run-time library loading)

Cheers,
Edwin

flashvan wrote:
> Thanks  warm-hearted Edwin,
>     I've resolved it. But there is something I did not know during debug a c 
> function with the way you told me, some local variables can be watched well, 
> but the others can't be watched.
>
> /*
> ** Creates an Environment and returns it.
> */
> static value create_environment(value pool) 
> {
>       SQLHENV henv;           /* environment handler */
>       SQLRETURN ret;                  /* return code */
>       value v;
>       /* uses connection pool or not */
>       val_check(pool,bool);
>       if(val_bool(pool))
>       {
>               SQLSetEnvAttr(SQL_NULL_HENV, 
> SQL_ATTR_CONNECTION_POOLING,(SQLPOINTER) SQL_CP_ONE_PER_HENV, SQL_NTS); 
>       }
>
>       ret = SQLAllocHandle(hENV, SQL_NULL_HANDLE, &henv);
>       if (error(ret))
>               failure(NEKOSQL_PREFIX"error creating environment.");
>
>       ret = SQLSetEnvAttr (henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 
> 0);
>       if (error(ret)) 
>       {
>               failure (NEKOSQL_PREFIX"error setting SQL version.");
>               SQLFreeHandle (hENV, henv);
>       }
>
>       v =  alloc_abstract(k_environment, henv);
>       val_gc(v, free_environment);
>
>       return v;
> }
>
> the local variable henv can be watched in the Locals window, but ret, v can't 
> be watched.
> Is it effected by the neko vm or caused by my wrong operation? 
>
> flashvan
> 2006-09-26
>
>
>
>   
>>> Edwin van Rijkom
>>> 2006-09-26 14:53:45
>>>  Neko intermediate language mailing list
>>>  Re: [Neko] value check exception when call a c function from haxe
>>>       
>
>   
>>> Hi  Jeremy,
>>>       
>
>   
>>> On  working  with  strings,  you  need  to  use  the  internal  string
>>> representation,  like  so:
>>>       
>
>   
>>> public  static  function  connect(host:String,  uid:String,  pwd:String)
>>> {
>>>    var  r  =  test(untyped  host.__s,    untyped  uid.__s,    untyped  
>>> pwd.__s);
>>> }
>>>       
>
>   
>>> For  debugging,  choose  your  projects  'debug'  configuration,  set  
>>> 'project  setttings','debugging','command'  to  'neko'  (or  its  >> full  
>>> path)  and  enter  the  path  to  your  compiled  .n  test  file  in  
>>> 'command  arguments'.
>>>       
>
>   
>>> Cheers,
>>> Edwin
>>>       
>
>   
>> flashvan  wrote:
>>  Hello  list,
>>          I  am  try  to  write  my  odbc  module  for  neko  vm  these  
>> days.  when  testing    a  simple  c  function,  I  have  got  a  exception. 
>>  
>>  this  is  just  a  test,  
>>
>>  /*
>>  **  odbc.c      output  a  module  file  named  sql.ndll
>>  */
>>  static  value  test(value  src,  value  uid,  value  pwd)  
>>          {
>>                    val_check(src,  string);
>>                    val_check(uid,  string);
>>                    val_check(pwd,  string);
>>
>>            return  alloc_int(1);
>>          }
>>  DEFINE_PRIM(test,  3);
>>
>>
>>  //  Odbc.hx,  for  test
>>  class  Odbc
>>  {
>>    private  static  var  test  =  neko.Lib.load("sql","test",3);
>>
>>    public  static  function  connect(host:String,  uid:String,  pwd:String)
>>    {
>>      var  r  =  test(host,    uid,    pwd);
>>    }
>>
>>    public  static  function  main()
>>    {
>>      Odbc.connect("jeremy",  "sa",  "sa");
>>    }
>>  }
>>
>>  after  compiled,    use  command  line  
>>  F:\haxe-1.07 >neko  Odbc.n
>>  Called  from   <null >  line  1
>>  Called  from  Odbc.hx  line  16
>>  Called  from  Odbc.hx  line  10
>>  Uncaught  exception  -  [EMAIL PROTECTED]
>>
>>  what's  going  wrong  ?  who  can  explain  it?  
>>
>>  I  also  found  that  it  is  very  difficult  to  debug  the  module.    
>> How  can  I  use  step-by-step  debugging  in  neko  module  developping?
>>  I  use  visual  studio.net  2003.
>>
>>  thanks,  
>>
>>
>>
>>
>>  jeremy
>>  2006-09-26
>>
>>      
>>     
>
>
> --  
> Neko  :  One  VM  to  run  them  all
> (http://nekovm.org)
>
>
>   


-- 
Neko : One VM to run them all
(http://nekovm.org)

Reply via email to