No announcement yet.

ELF compare on Win7

  • Filter
  • Time
  • Show
Clear All
new posts

  • ELF compare on Win7


    I'm running latest BC3 on Win7 64bit.
    Now I'd like to add .elf file (and .o file) compare into new file format, and utilize external dump tool to generate the file content to compare. I took Java class compare for reference and did following steps, but the result was failed and BC3 showed me “Conversion Error”.
    1. Add the dump utility prtc.exe into \Helpers\
    2. Created a bat file under \Helpers\ named "dump_tasking_obj.bat" with following content:
    Helpers\prtc.exe %1 > %2
    3. In BC3 GUI, created a new file format to parse .o files. The conversion command is:
    Helpers\dump_tasking_obj.bat %s %t

    I could see some files are produced in system TEMP folder, but with no file content (file size is 0). Since I cannot find any error log produced by BC3, I'm not able to diagnose the detail error reason. I also tried to run BC3 as admin, but still not worked.

    I've used command line to run the bat file, and no error reported.
    Besides, the above methods could work on WinXP.

    Could you plz help me check it?



    Author update 20131120:
    The above steps also work well on win7. This issue was caused by invoking a wrong utility when starting compare from session history.
    Last edited by behonest; 19-Nov-2013, 08:12 PM. Reason: update

  • #2

    When you run the bat command from the command line, does the conversion work or does it create 0 sized output?

    > Helpers\dump_tasking_obj.bat "c:\temp\source.elf" "c:\temp\text.txt"

    A 0 size file is interpreted as an error, as some conversion processes do not pass back any error messages. We default to assume an empty file is an error rather than a truly empty file (which can otherwise result in a false equal status).

    If it is a difference between WinXP and Win7, this is usually caused if the conversion process is attempting to create files within the Program Files directory, as this directory is far more locked down in Vista and newer.
    Aaron P Scooter Software


    • #3
      Thanks for the reply!
      I've tried following from cmd line:
      > Helpers\dump_tasking_obj.bat "c:\temp\source.elf" "c:\temp\text.txt"
      I can get dump result in text.txt with no error.
      Then I tried the bat on system temp folder:
      > Helpers\dump_tasking_obj.bat "c:\temp\source.elf" "c:\windows\temp\text.txt"
      And got an error "Access is denied".

      Maybe that's why BC3 got the conversion error? Is there a way to change the temp folder location of BC3?



      • #4
        BC3 uses your user's current %temp% location variable to determine where it should create temp files. Do you know why your user might not have access to this directory? Usually your user should have access to this location.

        Is C:\Windows\Temp the directory loaded if you open explorer and type in "%temp%" into the location bar (instead of "c:\folder")?
        Aaron P Scooter Software


        • #5
          Just now I tried the bat file on TEMP folder of my user area as following:
          > Helpers\dump_tasking_obj.bat "c:\temp\source.elf" %temp%\text.txt
          And I can get the result. But with BC3, it still generates zero size file and reported conversion error..

          Directory of C:\Users\mzqhc9\AppData\Local\Temp
          2013/11/19 08:34 0 BC334A.tmp
          2013/11/19 08:34 0 BC334B.tmp
          2013/11/19 08:36 11,622 text.txt



          • #6

            I wouldn't expect BC3 to be denied access if your user account has access. You mentioned earlier that you ran BC as admin. What was with the right click menu -> Run As Administrator, correct? Does that still not work?

            If you are familiar with Process Monitor, and attempt to follow the conversion's creation/writing process to see if any additional log information is available:

            Are you able to use any of our other conversion process programs, such as opening a Word .doc in the Text Compare, and then attempting with the MS Word Extended format install here:
            *Once installed, you will want to go to the Tools menu -> File Formats dialog, and move 'Extended' to be lower in the list than the original format. That way, the original format is used by default.
            Aaron P Scooter Software


            • #7
              Via process monitor, it's found that BC3 was invoking an older utility to parse the obj file, not the bat script I expected. Then I realized that I was opening the object from BC3 saved session history. And it seems the file conversion rule on that particular session history was applied, which used a wrong utility (the utility returns an error when parsing the obj file). Then I started a new session on obj file, and it worked…
              And the conversion doesn’t require to run as admin. It’s not a win7 user privilege issue.

              Thanks for your help!